import { StudioComponentDataConfiguration, StudioComponentPropertyBinding } from './bindings'; import { StudioComponentEvents } from './events'; import { FigmaMetadata } from './figma'; import { StudioComponentProperties } from './properties'; /** * This is the base type for all Studio components */ export declare type StudioComponent = { /** * The name of the customized component */ name: string; /** * This is the unique global identifier for each component */ id?: string; /** * The id if the component in its source system (Figma, Sketch, etc.) */ sourceId?: string; /** * The version of the schema for this component when it was imported from Figma. */ schemaVersion?: string; /** * This should map to the components available including Amplify * UI components and other custom components */ componentType: string; /** * These are the customized properties */ properties: StudioComponentProperties; /** * These are the nested components in a composite */ children?: StudioComponentChild[]; /** * The metatdata gerated by Figma */ figmaMetadata?: FigmaMetadata; /** * Variants in terms of styles */ variants?: StudioComponentVariant[]; /** * Overrides for primitives */ overrides?: StudioComponentOverrides; bindingProperties: { [propertyName: string]: StudioComponentPropertyBinding; }; /** * These are the collection properties */ collectionProperties?: { [propertyName: string]: StudioComponentDataConfiguration; }; events?: StudioComponentEvents; }; /** * This is the child type for Studio components */ export declare type StudioComponentChild = { /** * This should map to the components available including Amplify * UI components and other custom components */ componentType: string; /** * The unique name of the child element. */ name: string; /** * These are the customized properties */ properties: StudioComponentProperties; /** * These are the nested components in a composite */ children?: StudioComponentChild[]; events?: StudioComponentEvents; /** * The id if the component in its source system (Figma, Sketch, etc.) */ sourceId?: string; }; /** * This is used to track vairants for a single component */ export declare type StudioComponentVariant = { /** * The combination of vairants that comprise this variant */ variantValues: { [key: string]: string; }; /** * The overridden properties for this variant */ overrides: StudioComponentOverrides; }; /** * This is a dictionary of overrides for a single parent component. */ export declare type StudioComponentOverrides = { /** * This is the reference to a full set of overrides applied to a component and its children * @returns A set of key value pairs representing overrides for the given child or top-level component. */ [overridenComponentName: string]: { [key: string]: string; }; }; //# sourceMappingURL=components.d.ts.map