import { DTOFigmaComponent, DTOFigmaComponentBooleanProperty, DTOFigmaComponentInstanceSwapProperty, DTOFigmaComponentTextProperty, DTOFigmaComponentVariantProperty } from "@supernova-studio/client"; export declare enum DesignComponentPropertyType { Boolean = "Boolean", InstanceSwap = "InstanceSwap", Text = "Text", Variant = "Variant" } type DesignComponentPropertyDefinitionRemoteType = NonNullable[string]; export declare abstract class DesignComponentPropertyDefinition { id: string; abstract type: DesignComponentPropertyType; abstract defaultValue: string | boolean; name: string; options: string[] | null; constructor(model: DesignComponentPropertyDefinitionRemoteType); } export declare class DesignComponentPropertyBoolean extends DesignComponentPropertyDefinition { type: DesignComponentPropertyType.Boolean; defaultValue: boolean; constructor(model: DTOFigmaComponentBooleanProperty); } export declare class DesignComponentPropertyText extends DesignComponentPropertyDefinition { type: DesignComponentPropertyType.Text; defaultValue: string; constructor(model: DTOFigmaComponentTextProperty); } type InstanceSwapDefaultValuePreview = { componentName: string; componentSetName: string | null; isRemote: boolean; }; export declare class DesignComponentPropertyInstanceSwap extends DesignComponentPropertyDefinition { type: DesignComponentPropertyType.InstanceSwap; defaultValue: string; defaultValuePreview: InstanceSwapDefaultValuePreview | null; constructor(model: DTOFigmaComponentInstanceSwapProperty); } export declare class DesignComponentPropertyVariant extends DesignComponentPropertyDefinition { type: DesignComponentPropertyType.Variant; defaultValue: string; options: string[]; constructor(model: DTOFigmaComponentVariantProperty); } export declare function resolveComponentPropertyDefinition(model?: DTOFigmaComponent["componentPropertyDefinitions"]): DesignComponentPropertyDefinition[]; export {};