import { type RichTextValue } from '@makeswift/controls'; import { Data, DescriptorValueType, PanelDescriptor } from './descriptors'; export declare const DELETED_PROP_CONTROLLER_TYPES: { readonly List: "List"; readonly RichText: "RichText"; readonly Shape: "Shape"; readonly Typeahead: "Typeahead"; }; export type DeletedPropControllerDescriptor = ListDescriptor | RichTextDescriptor | ShapeDescriptor | TypeaheadDescriptor; type ListValueItem = { id: string; value?: T; }; export type ListValue = ListValueItem[]; export type ListOptions = { type: PanelDescriptor; label?: string; getItemLabel?: ((value: T | undefined) => string) | ((value: T | undefined) => Promise); preset?: ListValue; defaultValue?: ListValue; }; export type ListDescriptor = { type: typeof DELETED_PROP_CONTROLLER_TYPES.List; options: ListOptions ? U : never>; }; export type RichTextOptions = { preset?: RichTextValue; }; export type RichTextDescriptor<_T extends Data = RichTextValue> = { type: typeof DELETED_PROP_CONTROLLER_TYPES.RichText; options: RichTextOptions; }; export type ShapeValue = Record; type ShapeOptions> = { type: T; preset?: { [K in keyof T]?: DescriptorValueType; }; }; export type ShapeDescriptor<_T extends Record, U extends Record> = { type: typeof DELETED_PROP_CONTROLLER_TYPES.Shape; options: ShapeOptions; }; export type TypeaheadValue = { id: string; label: string; value: T; }; export type TypeaheadOptions = { getItems: (query: string) => Promise[]>; label?: string; preset?: TypeaheadValue; defaultValue?: TypeaheadValue; }; export type TypeaheadDescriptor = { type: typeof DELETED_PROP_CONTROLLER_TYPES.Typeahead; options: TypeaheadOptions ? U : never>; }; export {}; //# sourceMappingURL=deleted.d.ts.map