OSI supports different types of user-defined data types. Some types are not supported for persistent data type declarations but can be used for transient data elements.