/** * The render mode in the MDRC component */ export type RenderMode = "3D" | "2D" | "2D_Parallax"; /** * A type alias for either a promise or the type itself. */ export type Awaitable = Promise | T; /** * All data objects, garments, avatars, scenes, outfits, etc. will be referenced * with a object adhering to this base type. * * @group Collection Assets */ export interface ReferenceData { reference: string; organizationId: string; } /** * Convert a reference data to a string representation * * @param reference The reference * @returns The serialized string * * @group utils * @group Collection Assets */ export declare function referenceDataToString(reference: ReferenceData): string; /** * Comparison function for {@link ReferenceData} objects. * * @group utils * @group Collection Assets * * @param a A {@link ReferenceData} object * @param b A {@link ReferenceData} object * @returns true if a == b */ export declare function referenceDataEquals(a: ReferenceData | null | undefined, b: ReferenceData | null | undefined): boolean; /** * A type guard function for a {@link ReferenceData} object * * @group utils * * @param obj An object to be tested * @returns asserts that obj is an {@link ReferenceData} object */ export declare function isReferenceData(obj: unknown): obj is ReferenceData; /** * A location selector for the accessory slot * * @group Collection Assets */ export declare enum AccessoryLocation { AccessoryTop = "TOP", AccessoryCenter = "MIDDLE", AccessoryBottom = "BOTTOM" } /** * A position enumartion * * @group Collection Assets */ export type TopBottomPosition = "TOP" | "BOTTOM"; /** * A {@link ReferenceData} object specific for accessories * * @group Collection Assets */ export interface AccessoryReference extends ReferenceData { position: AccessoryLocation; } /** * A fallback garment as mentioned in a {@link Collection} * * @group Collection Assets */ export interface FallBackGarmentData extends ReferenceData { manuallyDressable?: boolean; name?: string; price?: { price: number; currency: string; }; garmentLink?: string; } /** * A fallback garment set as mentioned in a {@link Collection} * * @group Collection Assets */ export interface FallbackGarments { top?: FallBackGarmentData; bottom?: FallBackGarmentData; }