import React from "react";
export interface WidgetFunctionComponent<T = {}> extends React.FunctionComponent<T & {
    className?: string;
    slot?: React.ReactNode;
}> {
    widget: string;
    group: string;
    settings?: SettingFunctionComponent[];
    slots?: WidgetFunctionComponent<any>[];
}
export interface WidgetDraggableFunctionComponent<T = {}> extends WidgetFunctionComponent<T> {
    groupName: string;
}
interface SettingFunctionComponentGetter {
    onChange: (value: any) => (void | Promise<void>);
    value: any;
}
export interface SettingFunctionComponent<T = Partial<SettingFunctionComponentGetter>> extends React.FunctionComponent<T> {
    settingLabel: string;
}
export {};
