///
export declare enum PropsControlTypes {
Checkbox = "checkbox",
Input = "input",
Radio = "radio",
Select = "select",
Textarea = "textarea",
JsonEditor = "jsonEditor"
}
export type ControlInputHandler = (event: React.ChangeEvent) => void;
export type ControlSelectHandler = (event: React.ChangeEvent) => void;
export type ControlTextareaHandler = (event: React.ChangeEvent) => void;
export type ControlJsonHandler = (propName: string, propValue: string) => void;
export type ControlUnionHandler = ControlInputHandler | ControlSelectHandler | ControlTextareaHandler | ControlJsonHandler;
type PropEditSelect = {
controlType: PropsControlTypes.Select;
data?: string[] | number[];
};
type PropEditInput = {
controlType: PropsControlTypes.Input;
data?: string | number;
};
type PropEditRadio = {
controlType: PropsControlTypes.Radio;
data?: string[] | number[];
};
type PropEditTextarea = {
controlType: PropsControlTypes.Textarea;
data?: string | number;
};
type PropEditCheckbox = {
controlType: PropsControlTypes.Checkbox;
data?: boolean;
};
type PropEditJson = {
controlType: PropsControlTypes.JsonEditor;
data?: ComponentPreviewProps;
};
type PropsEditItem = PropEditInput | PropEditTextarea | PropEditSelect | PropEditRadio | PropEditCheckbox | PropEditJson;
export type TableItemControlData = number[] | string[] | ComponentPreviewProps;
export type ComponentPreviewProps = {
[propsName: string]: unknown;
} | null;
export type ToolsPropsModifier = {
initialProps?: ComponentPreviewProps;
props?: ComponentPreviewProps;
propsEditInfo?: PropsEditInfo;
updateProps?: (updatedProps: ComponentPreviewProps) => void;
} | null;
export type PropsModifier = {
props: ComponentPreviewProps;
updateProps: (updatedProps: ComponentPreviewProps) => void;
} | null;
export type PropsEditInfo = {
[propsName: string]: PropsEditItem;
};
export {};