/// <reference types="react" />
import { type EditorManager, type BaseEventContext } from 'amis-editor';
export declare function getEventSettingsTpl(manager: EditorManager, context: BaseEventContext): {
    title: string;
    className: string;
    body: any[];
};
export declare function getDataFormatterTpl(config: {
    chartType?: string;
    label?: string;
    name?: string;
    mode?: string;
    visibleOn?: string;
    useContextVariables?: boolean;
}): any[];
export declare function getEntitySelectTpl(): {
    label: string;
    mode: string;
    type: string;
    visibleOn: string;
    name: string;
    onlyLeaf: boolean;
    autoFill: {
        __modelFields: string;
        __relationModelFields: string;
    };
    source: {
        url: string | undefined;
        method: string;
        adaptor: (payload: any) => any;
    };
    reload: string;
    onChange(value: any, oldValue: any, model: any, form: any): void;
};
export declare function getDataSetSelectTpl(): {
    label: string;
    type: string;
    mode: string;
    visibleOn: string;
    name: string;
    onlyLeaf: boolean;
    source: {
        url: string | undefined;
        method: string;
        adaptor(payload: any, response: any, api: any, context: any): any;
    };
    autoFill: {
        __modelFields: string;
    };
    reload: string;
    onChange(value: any, oldValue: any, model: any, form: any): void;
};
export declare function getWhereTpl(config: {
    page?: any;
    manager: EditorManager;
    context: BaseEventContext;
}): {
    visibleOn: string;
    type: string;
    embed: boolean;
    name: string;
    label: string;
    mode: string;
    formula: {
        variables: (props: any) => Promise<any[]>;
        mode: string;
        inputSettings: {};
        mixedMode: boolean;
        variableMode: string;
    };
    source: string;
};
/**
 * 获取 having 的面板配置
 * @returns having 的面板配置
 */
export declare function getHavingTpl(config: {
    page?: any;
    manager: EditorManager;
    context: BaseEventContext;
    visibleOn?: string;
}): {
    visibleOn: string;
    type: string;
    name: string;
    embed: boolean;
    mode: string;
    label: string;
    formula: {
        variables: (props: any) => Promise<any[]>;
        mixedMode: boolean;
        variableMode: string;
    };
    source: string;
};
export declare function getDatasourceTypeTpl(params?: {
    defaultChartData?: any;
    defaultDimensions?: Array<any>;
    defaultMeasures?: Array<any>;
    needFieldTypes?: Array<string>;
    customOptions?: Array<any>;
}): {
    type: string;
    name: string;
    mode: string;
    label: string;
    value: string;
    onChange: (value: any, oldValue: any, model: any, form: any) => void;
    options: {
        label: string;
        value: string;
    }[];
};
export declare function getApiControlTpl(config: {
    fetcher: any;
    needFieldTypes?: Array<string>;
    contextData?: any;
}): any;
export declare function getStaticJsonTpl(context: any, config?: {
    needFieldTypes: Array<string>;
}): {
    name: string;
    mode: string;
    visibleOn: string;
    label: string;
    asFormItem: boolean;
    component: ({ value, onChange }: any) => import("react").JSX.Element;
    onChange(staticJson: any, oldStaticJson: any, model: any, form: any): void;
};
export interface DimensionsTplConfig {
    label?: any;
    visibleOn?: string;
    minLength?: number;
    maxLength?: number;
    withOrder?: boolean;
    addable?: boolean;
    manager: EditorManager;
    context: BaseEventContext;
}
/**
 * 获取维度面板
 * @param config 面板配置
 * @param extraItems 除基础字段外附加的字段，如和维度对应的标题等
 */
export declare function getDimensionsTpl(config: DimensionsTplConfig, extraItems?: any[]): {
    type: string;
    visibleOn: string;
    name: string;
    btnLabel: string;
    multiple: boolean;
    draggable: boolean;
    addable: boolean;
    removable: boolean;
    minLength: number | undefined;
    maxLength: number | undefined;
    label: any;
    form: {
        title: string;
        body: any[];
    };
};
export declare function getContextDimensionsTpl(config: {
    label?: any;
    visibleOn?: string;
    minLength?: number;
    maxLength?: number;
    addable?: boolean;
    contextFields?: any;
    withDateOrder?: boolean;
    onlyUseNumberFields?: boolean;
}, extraItems?: any[]): {
    type: string;
    visibleOn: string;
    name: string;
    btnLabel: string;
    multiple: boolean;
    draggable: boolean;
    addable: boolean;
    removable: boolean;
    minLength: number | undefined;
    maxLength: number | undefined;
    label: any;
    form: {
        title: string;
        body: any[];
    };
};
/**
 * 获取分组字段
 * @param config 配置
 * @param extraItems 除基础字段外附加的字段
 */
export declare function getGroupFieldTpl(config?: {
    name?: string;
    label?: any;
    visibleOn?: string;
    valueField?: string;
}, extraItems?: any[]): {
    label: any;
    type: string;
    name: string;
    source: string;
    placeholder: string;
    clearable: boolean;
    visibleOn: string;
};
/**
 * 获取气泡值字段
 * @param config 配置
 * @param extraItems 除基础字段外附加的字段
 */
export declare function getBubbleFieldTpl(config?: {
    name?: string;
    label?: any;
    visibleOn?: string;
    valueField?: string;
}, extraItems?: any[]): {
    label: any;
    type: string;
    name: string;
    source: string;
    placeholder: string;
    clearable: boolean;
};
/**
 * 获取值轴面板
 * @param config 面板配置
 * @param extraItems 除基础字段外附加的字段，如和维度对应的标题等
 */
export declare function getMeasuresTpl(config: {
    chartType?: string;
    name?: string;
    label?: any;
    visibleOn?: string;
    minLength?: number;
    maxLength?: number;
    addable?: boolean;
    withFormatter?: boolean;
    withOrder?: boolean;
    hiddenCutomLabel?: boolean;
    context: BaseEventContext;
    onlyUseStringFields?: boolean;
}, extraItems?: any[]): {
    type: string;
    visibleOn: string;
    name: string;
    btnLabel: string;
    multiple: boolean;
    draggable: boolean;
    addable: boolean;
    removable: boolean;
    minLength: number | undefined;
    maxLength: number | undefined;
    label: any;
    form: {
        title: string;
        body: any[];
    };
};
export declare function getContextMeasuresTpl(config: {
    chartType?: string;
    name?: string;
    label?: any;
    visibleOn?: string;
    minLength?: number;
    maxLength?: number;
    addable?: boolean;
    contextFields?: any;
    withFormatter?: boolean;
    withOrder?: boolean;
    onlyUseStringFields?: boolean;
}, extraItems?: any[]): {
    type: string;
    visibleOn: string;
    name: string;
    btnLabel: string;
    multiple: boolean;
    draggable: boolean;
    addable: boolean;
    removable: boolean;
    minLength: number | undefined;
    maxLength: number | undefined;
    label: any;
    form: {
        title: string;
        body: any[];
    };
};
export declare function getLimitTpl(): any;
