import { FormItemInputProps, FormItemInputNumberProps, FormItemSliderProps, FormItemColorProps, FormItemGroupProps, FormItemToggleProps, FormItemVector2Props, FormItemVector3Props, FormItemVector4Props, FormItemSegmentControlProps, FormItemSelectProps, FormItemTextareaProps, FormItemCascadeSliderProps, FormItemArrayProps } from '..'; import { FormItemRectProps } from '../FormItemRect/FormItemRect'; import { ColorSpace } from '@galacean/editor-ui'; export declare const GUIItemTypeEnum: { readonly Input: "Input"; readonly Number: "Number"; readonly Slider: "Slider"; readonly Color: "Color"; readonly Group: "Group"; readonly Array: "Array"; readonly Toggle: "Toggle"; readonly Vector2: "Vector2"; readonly Vector3: "Vector3"; readonly Vector4: "Vector4"; readonly Rect: "Rect"; readonly Select: "Select"; readonly Button: "Button"; readonly Textarea: "Textarea"; readonly CascadeSlider: "CascadeSlider"; }; export type GUIItemType = (typeof GUIItemTypeEnum)[keyof typeof GUIItemTypeEnum]; type BaseGUIItemConfig = Omit & { bindPath?: string; }; interface GUIItemInputConfig extends BaseGUIItemConfig { type: typeof GUIItemTypeEnum.Input; } interface GUIItemNumberConfig extends BaseGUIItemConfig { type: typeof GUIItemTypeEnum.Number; } interface GUIItemTextareaConfig extends BaseGUIItemConfig { type: typeof GUIItemTypeEnum.Textarea; } interface GUIItemSliderConfig extends BaseGUIItemConfig { type: typeof GUIItemTypeEnum.Slider; } interface GUIItemColorConfig extends BaseGUIItemConfig { type: typeof GUIItemTypeEnum.Color; colorSpace?: ColorSpace; } interface GUIItemRectConfig extends BaseGUIItemConfig { type: typeof GUIItemTypeEnum.Rect; } interface GUIItemToggleConfig extends BaseGUIItemConfig { type: typeof GUIItemTypeEnum.Toggle; } interface GUIItemVector2Config extends BaseGUIItemConfig { type: typeof GUIItemTypeEnum.Vector2; } interface GUIItemVector3Config extends BaseGUIItemConfig { type: typeof GUIItemTypeEnum.Vector3; } interface GUIItemVector4Config extends BaseGUIItemConfig { type: typeof GUIItemTypeEnum.Vector4; } interface GUIItemSegmentControlConfig extends BaseGUIItemConfig { type: typeof GUIItemTypeEnum.Select; } interface GUIItemArrayConfig extends Omit { type: typeof GUIItemTypeEnum.Array; bindPath: string; items: GUIItemConfig[]; onChange?: (value: any) => void; } interface GUIItemGroupConfig extends Omit, 'children'> { type: typeof GUIItemTypeEnum.Group; items: GUIItemConfig[]; } interface GUIItemSelectConfig extends BaseGUIItemConfig> { type: typeof GUIItemTypeEnum.Select; } interface GUIItemCascadeSliderConfig extends BaseGUIItemConfig { type: typeof GUIItemTypeEnum.CascadeSlider; } export type GUIItemConfig = GUIItemInputConfig | GUIItemNumberConfig | GUIItemColorConfig | GUIItemTextareaConfig | GUIItemRectConfig | GUIItemToggleConfig | GUIItemSliderConfig | GUIItemVector2Config | GUIItemVector3Config | GUIItemVector4Config | GUIItemSelectConfig | GUIItemSegmentControlConfig | GUIItemCascadeSliderConfig | GUIItemArrayConfig | GUIItemGroupConfig; export type SourceData = any; export type KeyOrBindPath = string; export type GUIDefineItem = [SourceData, KeyOrBindPath, GUIItemConfig]; export interface GUIRootProps { data: Record; items?: GUIDefineItem[]; } export declare function GUIRoot(props: GUIRootProps): import("react/jsx-runtime").JSX.Element; export {};