/**
 * @file CRUDBuilder
 * @desc 新版CRUD表格使用, 和TableListSchemaBuilder有区别所以单独列出来了
 */
/// <reference types="react" />
import { BaseSchemaBuilder } from './SchemaBuilder';
import { Manager } from '../base/Manager';
import { ApiBuilder } from './ApiBuilder';
import { SharedContext } from './SharedContext';
import { ApiStrategyInterface } from './ApiStrategyInterface';
import { EntityFormSchemaBuilder } from './EntityFormBuilder';
import type { Schema } from 'amis';
import type { ModelItem, ModelEntityApiSchema, ExtraField, FeatType } from '../type';
import type { ModelStore } from 'base/ModelStore';
export interface CRUDBuilderOptions {
    /** 表格的展示模式 */
    mode: 'table2' | 'list' | 'cards' | 'table';
    /** 支持的功能场景 */
    feats: FeatType[];
    /** 支持列表查看的字段集合 */
    listFields: ExtraField[];
    /** 支持新增的字段集合 */
    insertFields?: ExtraField[];
    /** 支持批量编辑字段集合 */
    bulkEditFields?: ExtraField[];
    /** 支持查看详情的字段集合 */
    viewFields?: ExtraField[];
    /** 支持编辑的字段集合 */
    editFields?: ExtraField[];
    /** 支持模糊查询的字段集合 */
    fuzzyQueryFields?: ExtraField[];
    /** 支持简单查询的字段集合 */
    simpleQueryFields?: ExtraField[];
    /** 支持高级查询的字段集合 */
    advancedQueryFields?: ExtraField[];
    /** 列表接口的预过滤条件 */
    filters?: ModelEntityApiSchema['filters'];
    /** 列表接口的排序规则 */
    orders?: ModelEntityApiSchema['orders'];
}
export declare class CRUDSchemaBuilder extends BaseSchemaBuilder<CRUDBuilderOptions> {
    readonly model: ModelItem;
    readonly apiStrategy: ApiStrategyInterface;
    readonly manager: Manager;
    readonly sharedContext: SharedContext;
    static id: string;
    options?: CRUDBuilderOptions;
    readonly ApiIdentifier: 'model-entity';
    readonly formSchemaBuilder: EntityFormSchemaBuilder;
    constructor(model: ModelItem, apiStrategy: ApiStrategyInterface, manager: Manager, sharedContext: SharedContext);
    /** 默认使用全量字段 */
    makeDefaultOptions(): Promise<CRUDBuilderOptions>;
    /** 重新构建时从Schema中解析初始化配置, 不同于模型组件的是，配置项信息直接放在对应功能区的schema中，不再需要$$m了 */
    guessOptionsFromSchema(schema: any): Promise<CRUDBuilderOptions>;
    /** 从Schema中提取指定功能场景的可用字段集合 */
    extractFieldsBySchema(fields: {
        id: string;
        fieldId?: string;
        [propName: string]: any;
    }[], feat: FeatType): Promise<ExtraField[]>;
    getFeatKey(feat: FeatType): Exclude<keyof CRUDBuilderOptions, 'mode' | 'feats' | 'filters' | 'orders'>;
    /** 根据过滤类型构建Where条件子句 */
    buildListWhereClause(ab: ApiBuilder, options?: CRUDBuilderOptions, context?: {
        columns?: Array<{
            title: string;
            key: string;
            fieldId: string;
            searchable?: any;
            [propName: string]: any;
        }>;
        fuzzyQueryKey?: string;
    }): Promise<void>;
    /** 构建列表展示API */
    buildListApi(options?: CRUDBuilderOptions, columns?: any[]): Promise<{
        orders?: {
            field: string;
            order: boolean;
        }[] | undefined;
        filters?: import("amis").ConditionValue | undefined;
        limit: string;
        jsonql?: any;
        vars?: any[] | undefined;
        sourceType?: string | undefined;
        runtimeQuery?: Record<string, string> | undefined;
        config?: {
            withCredentials?: boolean | undefined;
            cancelExecutor?: ((cancel: Function) => void) | undefined;
        } | undefined;
        originUrl?: string | undefined;
        graphql?: string | undefined;
        operationName?: string | undefined;
        body?: import("amis").PlainObject | undefined;
        query?: import("amis").PlainObject | undefined;
        mockResponse?: {
            status: number;
            data?: any;
            delay?: number | undefined;
        } | undefined;
        adaptor?: import("amis").ResponseAdaptor | undefined;
        requestAdaptor?: import("amis").RequestAdaptor | undefined;
        context?: any;
        filterEmptyQuery?: boolean | undefined;
        downloadFileName?: string | undefined; /**
         * "action": 功能   -- 用于标识API的功能场景
         * "behavior": 功能 -- 用于标识普通组件的功能场景
         * "feat": 功能     -- 用于标识Form组件的功能场景
         */
        method?: string | undefined;
        url: string;
        data?: {
            [propName: string]: any;
        } | undefined;
        convertKeyToPath?: boolean | undefined;
        responseData?: {
            [propName: string]: any;
        } | undefined;
        attachDataToQuery?: boolean | undefined;
        dataType?: "form" | "json" | "form-data" | undefined;
        responseType?: "blob" | undefined;
        headers?: {
            [propName: string]: string | number;
        } | undefined;
        sendOn?: string | undefined;
        replaceData?: boolean | undefined;
        concatDataFields?: string | string[] | undefined;
        autoRefresh?: boolean | undefined;
        trackExpression?: string | undefined;
        cache?: number | undefined;
        forceAppendDataToQuery?: boolean | undefined;
        qsOptions?: {
            arrayFormat?: "repeat" | "indices" | "brackets" | "comma" | undefined;
            indices?: boolean | undefined;
            allowDots?: boolean | undefined;
        } | undefined;
        silent?: boolean | undefined;
        messages?: {
            success?: string | undefined;
            failed?: string | undefined;
        } | undefined;
        action?: FeatType | undefined;
        origin?: "sdk" | "saas" | undefined;
        strategy?: "restful" | "jsonql" | undefined;
        scene?: "list" | "suggestion" | "autoFill" | "options" | undefined;
        entity?: {
            value: string;
            label: string;
            dsId: string;
            dsKey: string;
            dsLabel: string;
            mId: string;
            mKey: string;
            mLabel: string;
        } | undefined;
        select?: import("../type").SelectField[] | undefined;
    }>;
    parseRelationModel(model: ModelStore, host: string[], ab: ApiBuilder): Promise<void>;
    /** 构建列表项展示API */
    buildDetailApi(options: CRUDBuilderOptions, feat: 'Edit' | 'View'): Promise<{
        limit: string;
        jsonql?: any;
        vars?: any[] | undefined;
        sourceType?: string | undefined;
        runtimeQuery?: Record<string, string> | undefined;
        config?: {
            withCredentials?: boolean | undefined;
            cancelExecutor?: ((cancel: Function) => void) | undefined;
        } | undefined;
        originUrl?: string | undefined;
        graphql?: string | undefined;
        operationName?: string | undefined;
        body?: import("amis").PlainObject | undefined;
        query?: import("amis").PlainObject | undefined;
        mockResponse?: {
            status: number;
            data?: any;
            delay?: number | undefined;
        } | undefined;
        adaptor?: import("amis").ResponseAdaptor | undefined;
        requestAdaptor?: import("amis").RequestAdaptor | undefined;
        context?: any;
        filterEmptyQuery?: boolean | undefined;
        downloadFileName?: string | undefined; /**
         * "action": 功能   -- 用于标识API的功能场景
         * "behavior": 功能 -- 用于标识普通组件的功能场景
         * "feat": 功能     -- 用于标识Form组件的功能场景
         */
        method?: string | undefined;
        url: string;
        data?: {
            [propName: string]: any;
        } | undefined;
        convertKeyToPath?: boolean | undefined;
        responseData?: {
            [propName: string]: any;
        } | undefined;
        attachDataToQuery?: boolean | undefined;
        dataType?: "form" | "json" | "form-data" | undefined;
        responseType?: "blob" | undefined;
        headers?: {
            [propName: string]: string | number;
        } | undefined;
        sendOn?: string | undefined;
        replaceData?: boolean | undefined;
        concatDataFields?: string | string[] | undefined;
        autoRefresh?: boolean | undefined;
        trackExpression?: string | undefined;
        cache?: number | undefined;
        forceAppendDataToQuery?: boolean | undefined;
        qsOptions?: {
            arrayFormat?: "repeat" | "indices" | "brackets" | "comma" | undefined;
            indices?: boolean | undefined;
            allowDots?: boolean | undefined;
        } | undefined;
        silent?: boolean | undefined;
        messages?: {
            success?: string | undefined;
            failed?: string | undefined;
        } | undefined;
        action?: FeatType | undefined;
        origin?: "sdk" | "saas" | undefined;
        strategy?: "restful" | "jsonql" | undefined;
        scene?: "list" | "suggestion" | "autoFill" | "options" | undefined;
        entity?: {
            value: string;
            label: string;
            dsId: string;
            dsKey: string;
            dsLabel: string;
            mId: string;
            mKey: string;
            mLabel: string;
        } | undefined;
        select?: import("../type").SelectField[] | undefined;
        filters?: import("amis").ConditionValue | undefined;
        orders?: {
            field: string;
            order: boolean;
        }[] | undefined;
    }>;
    /** 新增 */
    buildInsertApi(options: CRUDBuilderOptions): Promise<{
        /** 新增后接口会返回主键字段，此时再次提交的时候可能会携带导致 SQL 执行错误 */
        data: {
            [x: string]: string;
            '&': string;
        };
        config?: {
            withCredentials?: boolean | undefined;
            cancelExecutor?: ((cancel: Function) => void) | undefined;
        } | undefined;
        originUrl?: string | undefined;
        jsonql?: any;
        graphql?: string | undefined;
        operationName?: string | undefined;
        body?: import("amis").PlainObject | undefined;
        query?: import("amis").PlainObject | undefined;
        mockResponse?: {
            status: number;
            data?: any;
            delay?: number | undefined;
        } | undefined;
        adaptor?: import("amis").ResponseAdaptor | undefined;
        requestAdaptor?: import("amis").RequestAdaptor | undefined;
        context?: any;
        filterEmptyQuery?: boolean | undefined;
        downloadFileName?: string | undefined; /**
         * "action": 功能   -- 用于标识API的功能场景
         * "behavior": 功能 -- 用于标识普通组件的功能场景
         * "feat": 功能     -- 用于标识Form组件的功能场景
         */
        method?: string | undefined;
        url: string;
        convertKeyToPath?: boolean | undefined;
        responseData?: {
            [propName: string]: any;
        } | undefined;
        attachDataToQuery?: boolean | undefined;
        dataType?: "form" | "json" | "form-data" | undefined;
        responseType?: "blob" | undefined;
        headers?: {
            [propName: string]: string | number;
        } | undefined;
        sendOn?: string | undefined;
        replaceData?: boolean | undefined;
        concatDataFields?: string | string[] | undefined;
        autoRefresh?: boolean | undefined;
        trackExpression?: string | undefined;
        cache?: number | undefined;
        forceAppendDataToQuery?: boolean | undefined;
        qsOptions?: {
            arrayFormat?: "repeat" | "indices" | "brackets" | "comma" | undefined;
            indices?: boolean | undefined;
            allowDots?: boolean | undefined;
        } | undefined;
        silent?: boolean | undefined;
        messages?: {
            success?: string | undefined;
            failed?: string | undefined;
        } | undefined;
        action?: FeatType | undefined;
        origin?: "sdk" | "saas" | undefined;
        sourceType?: "model-entity" | "api" | "apicenter" | undefined;
        strategy?: "restful" | "jsonql" | undefined;
        scene?: "list" | "suggestion" | "autoFill" | "options" | undefined;
        entity?: {
            value: string;
            label: string;
            dsId: string;
            dsKey: string;
            dsLabel: string;
            mId: string;
            mKey: string;
            mLabel: string;
        } | undefined;
        select?: import("../type").SelectField[] | undefined;
        limit?: "piece" | "multiple" | undefined;
        filters?: import("amis").ConditionValue | undefined;
        orders?: {
            field: string;
            order: boolean;
        }[] | undefined;
        runtimeQuery?: Record<string, string> | undefined;
    }>;
    /** 删除 */
    buildDeleteApi(options: CRUDBuilderOptions): Promise<{
        config?: {
            withCredentials?: boolean | undefined;
            cancelExecutor?: ((cancel: Function) => void) | undefined;
        } | undefined;
        originUrl?: string | undefined;
        jsonql?: any;
        graphql?: string | undefined;
        operationName?: string | undefined;
        body?: import("amis").PlainObject | undefined;
        query?: import("amis").PlainObject | undefined;
        mockResponse?: {
            status: number;
            data?: any;
            delay?: number | undefined;
        } | undefined;
        adaptor?: import("amis").ResponseAdaptor | undefined;
        requestAdaptor?: import("amis").RequestAdaptor | undefined;
        context?: any;
        filterEmptyQuery?: boolean | undefined;
        downloadFileName?: string | undefined; /**
         * "action": 功能   -- 用于标识API的功能场景
         * "behavior": 功能 -- 用于标识普通组件的功能场景
         * "feat": 功能     -- 用于标识Form组件的功能场景
         */
        method?: string | undefined;
        url: string;
        data?: {
            [propName: string]: any;
        } | undefined;
        convertKeyToPath?: boolean | undefined;
        responseData?: {
            [propName: string]: any;
        } | undefined;
        attachDataToQuery?: boolean | undefined;
        dataType?: "form" | "json" | "form-data" | undefined;
        responseType?: "blob" | undefined;
        headers?: {
            [propName: string]: string | number;
        } | undefined;
        sendOn?: string | undefined;
        replaceData?: boolean | undefined;
        concatDataFields?: string | string[] | undefined;
        autoRefresh?: boolean | undefined;
        trackExpression?: string | undefined;
        cache?: number | undefined;
        forceAppendDataToQuery?: boolean | undefined;
        qsOptions?: {
            arrayFormat?: "repeat" | "indices" | "brackets" | "comma" | undefined;
            indices?: boolean | undefined;
            allowDots?: boolean | undefined;
        } | undefined;
        silent?: boolean | undefined;
        messages?: {
            success?: string | undefined;
            failed?: string | undefined;
        } | undefined;
        action?: FeatType | undefined;
        origin?: "sdk" | "saas" | undefined;
        sourceType?: "model-entity" | "api" | "apicenter" | undefined;
        strategy?: "restful" | "jsonql" | undefined;
        scene?: "list" | "suggestion" | "autoFill" | "options" | undefined;
        entity?: {
            value: string;
            label: string;
            dsId: string;
            dsKey: string;
            dsLabel: string;
            mId: string;
            mKey: string;
            mLabel: string;
        } | undefined;
        select?: import("../type").SelectField[] | undefined;
        limit?: "piece" | "multiple" | undefined;
        filters?: import("amis").ConditionValue | undefined;
        orders?: {
            field: string;
            order: boolean;
        }[] | undefined;
        runtimeQuery?: Record<string, string> | undefined;
    }>;
    /** 批量删除 */
    buildBulkDeleteApi(options: CRUDBuilderOptions): Promise<{
        config?: {
            withCredentials?: boolean | undefined;
            cancelExecutor?: ((cancel: Function) => void) | undefined;
        } | undefined;
        originUrl?: string | undefined;
        jsonql?: any;
        graphql?: string | undefined;
        operationName?: string | undefined;
        body?: import("amis").PlainObject | undefined;
        query?: import("amis").PlainObject | undefined;
        mockResponse?: {
            status: number;
            data?: any;
            delay?: number | undefined;
        } | undefined;
        adaptor?: import("amis").ResponseAdaptor | undefined;
        requestAdaptor?: import("amis").RequestAdaptor | undefined;
        context?: any;
        filterEmptyQuery?: boolean | undefined;
        downloadFileName?: string | undefined; /**
         * "action": 功能   -- 用于标识API的功能场景
         * "behavior": 功能 -- 用于标识普通组件的功能场景
         * "feat": 功能     -- 用于标识Form组件的功能场景
         */
        method?: string | undefined;
        url: string;
        data?: {
            [propName: string]: any;
        } | undefined;
        convertKeyToPath?: boolean | undefined;
        responseData?: {
            [propName: string]: any;
        } | undefined;
        attachDataToQuery?: boolean | undefined;
        dataType?: "form" | "json" | "form-data" | undefined;
        responseType?: "blob" | undefined;
        headers?: {
            [propName: string]: string | number;
        } | undefined;
        sendOn?: string | undefined;
        replaceData?: boolean | undefined;
        concatDataFields?: string | string[] | undefined;
        autoRefresh?: boolean | undefined;
        trackExpression?: string | undefined;
        cache?: number | undefined;
        forceAppendDataToQuery?: boolean | undefined;
        qsOptions?: {
            arrayFormat?: "repeat" | "indices" | "brackets" | "comma" | undefined;
            indices?: boolean | undefined;
            allowDots?: boolean | undefined;
        } | undefined;
        silent?: boolean | undefined;
        messages?: {
            success?: string | undefined;
            failed?: string | undefined;
        } | undefined;
        action?: FeatType | undefined;
        origin?: "sdk" | "saas" | undefined;
        sourceType?: "model-entity" | "api" | "apicenter" | undefined;
        strategy?: "restful" | "jsonql" | undefined;
        scene?: "list" | "suggestion" | "autoFill" | "options" | undefined;
        entity?: {
            value: string;
            label: string;
            dsId: string;
            dsKey: string;
            dsLabel: string;
            mId: string;
            mKey: string;
            mLabel: string;
        } | undefined;
        select?: import("../type").SelectField[] | undefined;
        limit?: "piece" | "multiple" | undefined;
        filters?: import("amis").ConditionValue | undefined;
        orders?: {
            field: string;
            order: boolean;
        }[] | undefined;
        runtimeQuery?: Record<string, string> | undefined;
    }>;
    /** 编辑 */
    buildEditApi(options: CRUDBuilderOptions): Promise<{
        config?: {
            withCredentials?: boolean | undefined;
            cancelExecutor?: ((cancel: Function) => void) | undefined;
        } | undefined;
        originUrl?: string | undefined;
        jsonql?: any;
        graphql?: string | undefined;
        operationName?: string | undefined;
        body?: import("amis").PlainObject | undefined;
        query?: import("amis").PlainObject | undefined;
        mockResponse?: {
            status: number;
            data?: any;
            delay?: number | undefined;
        } | undefined;
        adaptor?: import("amis").ResponseAdaptor | undefined;
        requestAdaptor?: import("amis").RequestAdaptor | undefined;
        context?: any;
        filterEmptyQuery?: boolean | undefined;
        downloadFileName?: string | undefined; /**
         * "action": 功能   -- 用于标识API的功能场景
         * "behavior": 功能 -- 用于标识普通组件的功能场景
         * "feat": 功能     -- 用于标识Form组件的功能场景
         */
        method?: string | undefined;
        url: string;
        data?: {
            [propName: string]: any;
        } | undefined;
        convertKeyToPath?: boolean | undefined;
        responseData?: {
            [propName: string]: any;
        } | undefined;
        attachDataToQuery?: boolean | undefined;
        dataType?: "form" | "json" | "form-data" | undefined;
        responseType?: "blob" | undefined;
        headers?: {
            [propName: string]: string | number;
        } | undefined;
        sendOn?: string | undefined;
        replaceData?: boolean | undefined;
        concatDataFields?: string | string[] | undefined;
        autoRefresh?: boolean | undefined;
        trackExpression?: string | undefined;
        cache?: number | undefined;
        forceAppendDataToQuery?: boolean | undefined;
        qsOptions?: {
            arrayFormat?: "repeat" | "indices" | "brackets" | "comma" | undefined;
            indices?: boolean | undefined;
            allowDots?: boolean | undefined;
        } | undefined;
        silent?: boolean | undefined;
        messages?: {
            success?: string | undefined;
            failed?: string | undefined;
        } | undefined;
        action?: FeatType | undefined;
        origin?: "sdk" | "saas" | undefined;
        sourceType?: "model-entity" | "api" | "apicenter" | undefined;
        strategy?: "restful" | "jsonql" | undefined;
        scene?: "list" | "suggestion" | "autoFill" | "options" | undefined;
        entity?: {
            value: string;
            label: string;
            dsId: string;
            dsKey: string;
            dsLabel: string;
            mId: string;
            mKey: string;
            mLabel: string;
        } | undefined;
        select?: import("../type").SelectField[] | undefined;
        limit?: "piece" | "multiple" | undefined;
        filters?: import("amis").ConditionValue | undefined;
        orders?: {
            field: string;
            order: boolean;
        }[] | undefined;
        runtimeQuery?: Record<string, string> | undefined;
    }>;
    /** 批量编辑 */
    buildBulkEditApi(options: CRUDBuilderOptions): Promise<{
        config?: {
            withCredentials?: boolean | undefined;
            cancelExecutor?: ((cancel: Function) => void) | undefined;
        } | undefined;
        originUrl?: string | undefined;
        jsonql?: any;
        graphql?: string | undefined;
        operationName?: string | undefined;
        body?: import("amis").PlainObject | undefined;
        query?: import("amis").PlainObject | undefined;
        mockResponse?: {
            status: number;
            data?: any;
            delay?: number | undefined;
        } | undefined;
        adaptor?: import("amis").ResponseAdaptor | undefined;
        requestAdaptor?: import("amis").RequestAdaptor | undefined;
        context?: any;
        filterEmptyQuery?: boolean | undefined;
        downloadFileName?: string | undefined; /**
         * "action": 功能   -- 用于标识API的功能场景
         * "behavior": 功能 -- 用于标识普通组件的功能场景
         * "feat": 功能     -- 用于标识Form组件的功能场景
         */
        method?: string | undefined;
        url: string;
        data?: {
            [propName: string]: any;
        } | undefined;
        convertKeyToPath?: boolean | undefined;
        responseData?: {
            [propName: string]: any;
        } | undefined;
        attachDataToQuery?: boolean | undefined;
        dataType?: "form" | "json" | "form-data" | undefined;
        responseType?: "blob" | undefined;
        headers?: {
            [propName: string]: string | number;
        } | undefined;
        sendOn?: string | undefined;
        replaceData?: boolean | undefined;
        concatDataFields?: string | string[] | undefined;
        autoRefresh?: boolean | undefined;
        trackExpression?: string | undefined;
        cache?: number | undefined;
        forceAppendDataToQuery?: boolean | undefined;
        qsOptions?: {
            arrayFormat?: "repeat" | "indices" | "brackets" | "comma" | undefined;
            indices?: boolean | undefined;
            allowDots?: boolean | undefined;
        } | undefined;
        silent?: boolean | undefined;
        messages?: {
            success?: string | undefined;
            failed?: string | undefined;
        } | undefined;
        action?: FeatType | undefined;
        origin?: "sdk" | "saas" | undefined;
        sourceType?: "model-entity" | "api" | "apicenter" | undefined;
        strategy?: "restful" | "jsonql" | undefined;
        scene?: "list" | "suggestion" | "autoFill" | "options" | undefined;
        entity?: {
            value: string;
            label: string;
            dsId: string;
            dsKey: string;
            dsLabel: string;
            mId: string;
            mKey: string;
            mLabel: string;
        } | undefined;
        select?: import("../type").SelectField[] | undefined;
        limit?: "piece" | "multiple" | undefined;
        filters?: import("amis").ConditionValue | undefined;
        orders?: {
            field: string;
            order: boolean;
        }[] | undefined;
        runtimeQuery?: Record<string, string> | undefined;
    }>;
    /** 快速编辑 */
    buildQuickEditApi(options: CRUDBuilderOptions, bulk?: boolean): Promise<{
        config?: {
            withCredentials?: boolean | undefined;
            cancelExecutor?: ((cancel: Function) => void) | undefined;
        } | undefined;
        originUrl?: string | undefined;
        jsonql?: any;
        graphql?: string | undefined;
        operationName?: string | undefined;
        body?: import("amis").PlainObject | undefined;
        query?: import("amis").PlainObject | undefined;
        mockResponse?: {
            status: number;
            data?: any;
            delay?: number | undefined;
        } | undefined;
        adaptor?: import("amis").ResponseAdaptor | undefined;
        requestAdaptor?: import("amis").RequestAdaptor | undefined;
        context?: any;
        filterEmptyQuery?: boolean | undefined;
        downloadFileName?: string | undefined; /**
         * "action": 功能   -- 用于标识API的功能场景
         * "behavior": 功能 -- 用于标识普通组件的功能场景
         * "feat": 功能     -- 用于标识Form组件的功能场景
         */
        method?: string | undefined;
        url: string;
        data?: {
            [propName: string]: any;
        } | undefined;
        convertKeyToPath?: boolean | undefined;
        responseData?: {
            [propName: string]: any;
        } | undefined;
        attachDataToQuery?: boolean | undefined;
        dataType?: "form" | "json" | "form-data" | undefined;
        responseType?: "blob" | undefined;
        headers?: {
            [propName: string]: string | number;
        } | undefined;
        sendOn?: string | undefined;
        replaceData?: boolean | undefined;
        concatDataFields?: string | string[] | undefined;
        autoRefresh?: boolean | undefined;
        trackExpression?: string | undefined;
        cache?: number | undefined;
        forceAppendDataToQuery?: boolean | undefined;
        qsOptions?: {
            arrayFormat?: "repeat" | "indices" | "brackets" | "comma" | undefined;
            indices?: boolean | undefined;
            allowDots?: boolean | undefined;
        } | undefined;
        silent?: boolean | undefined;
        messages?: {
            success?: string | undefined;
            failed?: string | undefined;
        } | undefined;
        action?: FeatType | undefined;
        origin?: "sdk" | "saas" | undefined;
        sourceType?: "model-entity" | "api" | "apicenter" | undefined;
        strategy?: "restful" | "jsonql" | undefined;
        scene?: "list" | "suggestion" | "autoFill" | "options" | undefined;
        entity?: {
            value: string;
            label: string;
            dsId: string;
            dsKey: string;
            dsLabel: string;
            mId: string;
            mKey: string;
            mLabel: string;
        } | undefined;
        select?: import("../type").SelectField[] | undefined;
        limit?: "piece" | "multiple" | undefined;
        filters?: import("amis").ConditionValue | undefined;
        orders?: {
            field: string;
            order: boolean;
        }[] | undefined;
        runtimeQuery?: Record<string, string> | undefined;
    }>;
    /** TODO: 目前实体似乎不支持排序API */
    buildSaveOrderApi(options: CRUDBuilderOptions): Promise<void>;
    /**
     * 构建创建表单
     */
    buildCreateForm(options: CRUDBuilderOptions, componentId: string): Promise<{
        title: string;
        size: string;
        id: string;
        body: {
            api: {
                /** 新增后接口会返回主键字段，此时再次提交的时候可能会携带导致 SQL 执行错误 */
                data: {
                    [x: string]: string;
                    '&': string;
                };
                config?: {
                    withCredentials?: boolean | undefined;
                    cancelExecutor?: ((cancel: Function) => void) | undefined;
                } | undefined;
                originUrl?: string | undefined;
                jsonql?: any;
                graphql?: string | undefined;
                operationName?: string | undefined;
                body?: import("amis").PlainObject | undefined;
                query?: import("amis").PlainObject | undefined;
                mockResponse?: {
                    status: number;
                    data?: any;
                    delay?: number | undefined;
                } | undefined;
                adaptor?: import("amis").ResponseAdaptor | undefined;
                requestAdaptor?: import("amis").RequestAdaptor | undefined;
                context?: any;
                filterEmptyQuery?: boolean | undefined;
                downloadFileName?: string | undefined; /**
                 * "action": 功能   -- 用于标识API的功能场景
                 * "behavior": 功能 -- 用于标识普通组件的功能场景
                 * "feat": 功能     -- 用于标识Form组件的功能场景
                 */
                method?: string | undefined;
                url: string;
                convertKeyToPath?: boolean | undefined;
                responseData?: {
                    [propName: string]: any;
                } | undefined;
                attachDataToQuery?: boolean | undefined;
                dataType?: "form" | "json" | "form-data" | undefined;
                responseType?: "blob" | undefined;
                headers?: {
                    [propName: string]: string | number;
                } | undefined;
                sendOn?: string | undefined;
                replaceData?: boolean | undefined;
                concatDataFields?: string | string[] | undefined;
                autoRefresh?: boolean | undefined;
                trackExpression?: string | undefined;
                cache?: number | undefined;
                forceAppendDataToQuery?: boolean | undefined;
                qsOptions?: {
                    arrayFormat?: "repeat" | "indices" | "brackets" | "comma" | undefined;
                    indices?: boolean | undefined;
                    allowDots?: boolean | undefined;
                } | undefined;
                silent?: boolean | undefined;
                messages?: {
                    success?: string | undefined;
                    failed?: string | undefined;
                } | undefined;
                action?: FeatType | undefined;
                origin?: "sdk" | "saas" | undefined;
                sourceType?: "model-entity" | "api" | "apicenter" | undefined;
                strategy?: "restful" | "jsonql" | undefined;
                scene?: "list" | "suggestion" | "autoFill" | "options" | undefined;
                entity?: {
                    value: string;
                    label: string;
                    dsId: string;
                    dsKey: string;
                    dsLabel: string;
                    mId: string;
                    mKey: string;
                    mLabel: string;
                } | undefined;
                select?: import("../type").SelectField[] | undefined;
                limit?: "piece" | "multiple" | undefined;
                filters?: import("amis").ConditionValue | undefined;
                orders?: {
                    field: string;
                    order: boolean;
                }[] | undefined;
                runtimeQuery?: Record<string, string> | undefined;
            };
            onEvent: {
                submitSucc: {
                    actions: {
                        actionType: string;
                        groupType: string;
                        componentId: string;
                    }[];
                };
            };
            body: any;
            feat: any;
            type: any;
            mode: any;
            id: any;
            dsType: any;
        };
        actions: ({
            type: string;
            id: string;
            actionType: string;
            label: string;
            level?: undefined;
        } | {
            type: string;
            id: string;
            actionType: string;
            label: string;
            level: string;
        })[];
    }>;
    /** 查看详情 */
    buildViewForm(options: CRUDBuilderOptions, componentId: string): Promise<{
        title: string;
        id: string;
        size: string;
        body: {
            static: boolean;
            /** 这里覆盖一下EntityForm 构建出来的标识符 */
            feat: string;
            initApi: {
                limit: string;
                jsonql?: any;
                vars?: any[] | undefined;
                sourceType?: string | undefined;
                runtimeQuery?: Record<string, string> | undefined;
                config?: {
                    withCredentials?: boolean | undefined;
                    cancelExecutor?: ((cancel: Function) => void) | undefined;
                } | undefined;
                originUrl?: string | undefined;
                graphql?: string | undefined;
                operationName?: string | undefined;
                body?: import("amis").PlainObject | undefined;
                query?: import("amis").PlainObject | undefined;
                mockResponse?: {
                    status: number;
                    data?: any;
                    delay?: number | undefined;
                } | undefined;
                adaptor?: import("amis").ResponseAdaptor | undefined;
                requestAdaptor?: import("amis").RequestAdaptor | undefined;
                context?: any;
                filterEmptyQuery?: boolean | undefined;
                downloadFileName?: string | undefined; /**
                 * "action": 功能   -- 用于标识API的功能场景
                 * "behavior": 功能 -- 用于标识普通组件的功能场景
                 * "feat": 功能     -- 用于标识Form组件的功能场景
                 */
                method?: string | undefined;
                url: string;
                data?: {
                    [propName: string]: any;
                } | undefined;
                convertKeyToPath?: boolean | undefined;
                responseData?: {
                    [propName: string]: any;
                } | undefined;
                attachDataToQuery?: boolean | undefined;
                dataType?: "form" | "json" | "form-data" | undefined;
                responseType?: "blob" | undefined;
                headers?: {
                    [propName: string]: string | number;
                } | undefined;
                sendOn?: string | undefined;
                replaceData?: boolean | undefined;
                concatDataFields?: string | string[] | undefined;
                autoRefresh?: boolean | undefined;
                trackExpression?: string | undefined;
                cache?: number | undefined;
                forceAppendDataToQuery?: boolean | undefined;
                qsOptions?: {
                    arrayFormat?: "repeat" | "indices" | "brackets" | "comma" | undefined;
                    indices?: boolean | undefined;
                    allowDots?: boolean | undefined;
                } | undefined;
                silent?: boolean | undefined;
                messages?: {
                    success?: string | undefined;
                    failed?: string | undefined;
                } | undefined;
                action?: FeatType | undefined;
                origin?: "sdk" | "saas" | undefined;
                strategy?: "restful" | "jsonql" | undefined;
                scene?: "list" | "suggestion" | "autoFill" | "options" | undefined;
                entity?: {
                    value: string;
                    label: string;
                    dsId: string;
                    dsKey: string;
                    dsLabel: string;
                    mId: string;
                    mKey: string;
                    mLabel: string;
                } | undefined;
                select?: import("../type").SelectField[] | undefined;
                filters?: import("amis").ConditionValue | undefined;
                orders?: {
                    field: string;
                    order: boolean;
                }[] | undefined;
            };
            onEvent: {
                submitSucc: {
                    actions: {
                        actionType: string;
                        groupType: string;
                        componentId: string;
                    }[];
                };
            };
            body: any;
            type: any;
            mode: any;
            id: any;
            dsType: any;
        };
        actions: {
            id: string;
            type: string;
            actionType: string;
            label: string;
        }[];
    }>;
    /**
     * 构建编辑表单
     */
    buildEditForm(options: CRUDBuilderOptions, componentId: string): Promise<{
        size: string;
        id: string;
        title: string;
        body: {
            api: {
                config?: {
                    withCredentials?: boolean | undefined;
                    cancelExecutor?: ((cancel: Function) => void) | undefined;
                } | undefined;
                originUrl?: string | undefined;
                jsonql?: any;
                graphql?: string | undefined;
                operationName?: string | undefined;
                body?: import("amis").PlainObject | undefined;
                query?: import("amis").PlainObject | undefined;
                mockResponse?: {
                    status: number;
                    data?: any;
                    delay?: number | undefined;
                } | undefined;
                adaptor?: import("amis").ResponseAdaptor | undefined;
                requestAdaptor?: import("amis").RequestAdaptor | undefined;
                context?: any;
                filterEmptyQuery?: boolean | undefined;
                downloadFileName?: string | undefined; /**
                 * "action": 功能   -- 用于标识API的功能场景
                 * "behavior": 功能 -- 用于标识普通组件的功能场景
                 * "feat": 功能     -- 用于标识Form组件的功能场景
                 */
                method?: string | undefined;
                url: string;
                data?: {
                    [propName: string]: any;
                } | undefined;
                convertKeyToPath?: boolean | undefined;
                responseData?: {
                    [propName: string]: any;
                } | undefined;
                attachDataToQuery?: boolean | undefined;
                dataType?: "form" | "json" | "form-data" | undefined;
                responseType?: "blob" | undefined;
                headers?: {
                    [propName: string]: string | number;
                } | undefined;
                sendOn?: string | undefined;
                replaceData?: boolean | undefined;
                concatDataFields?: string | string[] | undefined;
                autoRefresh?: boolean | undefined;
                trackExpression?: string | undefined;
                cache?: number | undefined;
                forceAppendDataToQuery?: boolean | undefined;
                qsOptions?: {
                    arrayFormat?: "repeat" | "indices" | "brackets" | "comma" | undefined;
                    indices?: boolean | undefined;
                    allowDots?: boolean | undefined;
                } | undefined;
                silent?: boolean | undefined;
                messages?: {
                    success?: string | undefined;
                    failed?: string | undefined;
                } | undefined;
                action?: FeatType | undefined;
                origin?: "sdk" | "saas" | undefined;
                sourceType?: "model-entity" | "api" | "apicenter" | undefined;
                strategy?: "restful" | "jsonql" | undefined;
                scene?: "list" | "suggestion" | "autoFill" | "options" | undefined;
                entity?: {
                    value: string;
                    label: string;
                    dsId: string;
                    dsKey: string;
                    dsLabel: string;
                    mId: string;
                    mKey: string;
                    mLabel: string;
                } | undefined;
                select?: import("../type").SelectField[] | undefined;
                limit?: "piece" | "multiple" | undefined;
                filters?: import("amis").ConditionValue | undefined;
                orders?: {
                    field: string;
                    order: boolean;
                }[] | undefined;
                runtimeQuery?: Record<string, string> | undefined;
            };
            initApi: {
                limit: string;
                jsonql?: any;
                vars?: any[] | undefined;
                sourceType?: string | undefined;
                runtimeQuery?: Record<string, string> | undefined;
                config?: {
                    withCredentials?: boolean | undefined;
                    cancelExecutor?: ((cancel: Function) => void) | undefined;
                } | undefined;
                originUrl?: string | undefined;
                graphql?: string | undefined;
                operationName?: string | undefined;
                body?: import("amis").PlainObject | undefined;
                query?: import("amis").PlainObject | undefined;
                mockResponse?: {
                    status: number;
                    data?: any;
                    delay?: number | undefined;
                } | undefined;
                adaptor?: import("amis").ResponseAdaptor | undefined;
                requestAdaptor?: import("amis").RequestAdaptor | undefined;
                context?: any;
                filterEmptyQuery?: boolean | undefined;
                downloadFileName?: string | undefined; /**
                 * "action": 功能   -- 用于标识API的功能场景
                 * "behavior": 功能 -- 用于标识普通组件的功能场景
                 * "feat": 功能     -- 用于标识Form组件的功能场景
                 */
                method?: string | undefined;
                url: string;
                data?: {
                    [propName: string]: any;
                } | undefined;
                convertKeyToPath?: boolean | undefined;
                responseData?: {
                    [propName: string]: any;
                } | undefined;
                attachDataToQuery?: boolean | undefined;
                dataType?: "form" | "json" | "form-data" | undefined;
                responseType?: "blob" | undefined;
                headers?: {
                    [propName: string]: string | number;
                } | undefined;
                sendOn?: string | undefined;
                replaceData?: boolean | undefined;
                concatDataFields?: string | string[] | undefined;
                autoRefresh?: boolean | undefined;
                trackExpression?: string | undefined;
                cache?: number | undefined;
                forceAppendDataToQuery?: boolean | undefined;
                qsOptions?: {
                    arrayFormat?: "repeat" | "indices" | "brackets" | "comma" | undefined;
                    indices?: boolean | undefined;
                    allowDots?: boolean | undefined;
                } | undefined;
                silent?: boolean | undefined;
                messages?: {
                    success?: string | undefined;
                    failed?: string | undefined;
                } | undefined;
                action?: FeatType | undefined;
                origin?: "sdk" | "saas" | undefined;
                strategy?: "restful" | "jsonql" | undefined;
                scene?: "list" | "suggestion" | "autoFill" | "options" | undefined;
                entity?: {
                    value: string;
                    label: string;
                    dsId: string;
                    dsKey: string;
                    dsLabel: string;
                    mId: string;
                    mKey: string;
                    mLabel: string;
                } | undefined;
                select?: import("../type").SelectField[] | undefined;
                filters?: import("amis").ConditionValue | undefined;
                orders?: {
                    field: string;
                    order: boolean;
                }[] | undefined;
            };
            onEvent: {
                submitSucc: {
                    actions: {
                        actionType: string;
                        groupType: string;
                        componentId: string;
                    }[];
                };
            };
            body: any;
            feat: any;
            type: any;
            mode: any;
            id: any;
            dsType: any;
        };
        actions: ({
            id: string;
            type: string;
            actionType: string;
            label: string;
            level?: undefined;
        } | {
            id: string;
            type: string;
            actionType: string;
            label: string;
            level: string;
        })[];
    }>;
    /**
     * 构建编辑表单
     */
    buildBulkEditForm(options: CRUDBuilderOptions, componentId: string): Promise<{
        size: string;
        id: string;
        title: string;
        body: {
            api: {
                config?: {
                    withCredentials?: boolean | undefined;
                    cancelExecutor?: ((cancel: Function) => void) | undefined;
                } | undefined;
                originUrl?: string | undefined;
                jsonql?: any;
                graphql?: string | undefined;
                operationName?: string | undefined;
                body?: import("amis").PlainObject | undefined;
                query?: import("amis").PlainObject | undefined;
                mockResponse?: {
                    status: number;
                    data?: any;
                    delay?: number | undefined;
                } | undefined;
                adaptor?: import("amis").ResponseAdaptor | undefined;
                requestAdaptor?: import("amis").RequestAdaptor | undefined;
                context?: any;
                filterEmptyQuery?: boolean | undefined;
                downloadFileName?: string | undefined; /**
                 * "action": 功能   -- 用于标识API的功能场景
                 * "behavior": 功能 -- 用于标识普通组件的功能场景
                 * "feat": 功能     -- 用于标识Form组件的功能场景
                 */
                method?: string | undefined;
                url: string;
                data?: {
                    [propName: string]: any;
                } | undefined;
                convertKeyToPath?: boolean | undefined;
                responseData?: {
                    [propName: string]: any;
                } | undefined;
                attachDataToQuery?: boolean | undefined;
                dataType?: "form" | "json" | "form-data" | undefined;
                responseType?: "blob" | undefined;
                headers?: {
                    [propName: string]: string | number;
                } | undefined;
                sendOn?: string | undefined;
                replaceData?: boolean | undefined;
                concatDataFields?: string | string[] | undefined;
                autoRefresh?: boolean | undefined;
                trackExpression?: string | undefined;
                cache?: number | undefined;
                forceAppendDataToQuery?: boolean | undefined;
                qsOptions?: {
                    arrayFormat?: "repeat" | "indices" | "brackets" | "comma" | undefined;
                    indices?: boolean | undefined;
                    allowDots?: boolean | undefined;
                } | undefined;
                silent?: boolean | undefined;
                messages?: {
                    success?: string | undefined;
                    failed?: string | undefined;
                } | undefined;
                action?: FeatType | undefined;
                origin?: "sdk" | "saas" | undefined;
                sourceType?: "model-entity" | "api" | "apicenter" | undefined;
                strategy?: "restful" | "jsonql" | undefined;
                scene?: "list" | "suggestion" | "autoFill" | "options" | undefined;
                entity?: {
                    value: string;
                    label: string;
                    dsId: string;
                    dsKey: string;
                    dsLabel: string;
                    mId: string;
                    mKey: string;
                    mLabel: string;
                } | undefined;
                select?: import("../type").SelectField[] | undefined;
                limit?: "piece" | "multiple" | undefined;
                filters?: import("amis").ConditionValue | undefined;
                orders?: {
                    field: string;
                    order: boolean;
                }[] | undefined;
                runtimeQuery?: Record<string, string> | undefined;
            };
            onEvent: {
                submitSucc: {
                    actions: {
                        actionType: string;
                        groupType: string;
                        componentId: string;
                    }[];
                };
            };
            body: any;
            feat: any;
            type: any;
            mode: any;
            id: any;
            dsType: any;
        };
        actions: ({
            id: string;
            type: string;
            actionType: string;
            label: string;
            level?: undefined;
        } | {
            id: string;
            type: string;
            actionType: string;
            label: string;
            level: string;
        })[];
    }>;
    buildSimpleQueryCollection(options: CRUDBuilderOptions): Promise<{
        behavior: string;
        fieldId: string;
        /** 如果是关系字段就需要对应实体的 Key  */
        mKey: string;
        /** 用于后续配置面板中修改查询操作符 */
        filterOp: any;
        size: string;
        required: boolean;
        type?: string | undefined;
        detectField?: string | undefined;
        visibleOn?: string | undefined;
        hiddenOn?: string | undefined;
        disabledOn?: string | undefined;
        staticOn?: string | undefined;
        visible?: boolean | undefined;
        hidden?: boolean | undefined;
        disabled?: boolean | undefined;
        static?: boolean | undefined;
        children?: JSX.Element | ((props: any, schema?: any) => JSX.Element) | null | undefined;
        definitions?: import("amis").Definitions | undefined;
        animations?: import("amis").AnimationsProps | undefined;
    }[]>;
    buildAdvancedQueryCollection(options: CRUDBuilderOptions): Promise<{
        type: string;
        className: string;
        labelClassName: string;
        label: boolean;
        name: string;
        behavior: string;
        mode: string;
        searchable: boolean;
        fields: {
            fieldId: string;
            source?: string | undefined;
            options?: undefined;
            type?: string | undefined;
            detectField?: string | undefined;
            visibleOn?: string | undefined;
            hiddenOn?: string | undefined;
            disabledOn?: string | undefined;
            staticOn?: string | undefined;
            visible?: boolean | undefined;
            hidden?: boolean | undefined;
            disabled?: boolean | undefined;
            static?: boolean | undefined;
            children?: JSX.Element | ((props: any, schema?: any) => JSX.Element) | null | undefined;
            definitions?: import("amis").Definitions | undefined;
            animations?: import("amis").AnimationsProps | undefined;
        }[];
    }[]>;
    /** 构建查询区域, 输出格式为Array */
    buildFilter(options: CRUDBuilderOptions): Promise<{
        body: ({
            type: string;
            className: string;
            labelClassName: string;
            label: boolean;
            name: string;
            behavior: string;
            mode: string;
            searchable: boolean;
            fields: {
                fieldId: string;
                source?: string | undefined;
                options?: undefined;
                type?: string | undefined;
                detectField?: string | undefined;
                visibleOn?: string | undefined;
                hiddenOn?: string | undefined;
                disabledOn?: string | undefined;
                staticOn?: string | undefined;
                visible?: boolean | undefined;
                hidden?: boolean | undefined;
                disabled?: boolean | undefined;
                static?: boolean | undefined;
                children?: JSX.Element | ((props: any, schema?: any) => JSX.Element) | null | undefined;
                definitions?: import("amis").Definitions | undefined;
                animations?: import("amis").AnimationsProps | undefined;
            }[];
        } | {
            behavior: string;
            fieldId: string;
            /** 如果是关系字段就需要对应实体的 Key  */
            mKey: string;
            /** 用于后续配置面板中修改查询操作符 */
            filterOp: any;
            size: string;
            required: boolean;
            type?: string | undefined;
            detectField?: string | undefined;
            visibleOn?: string | undefined;
            hiddenOn?: string | undefined;
            disabledOn?: string | undefined;
            staticOn?: string | undefined;
            visible?: boolean | undefined;
            hidden?: boolean | undefined;
            disabled?: boolean | undefined;
            static?: boolean | undefined;
            children?: JSX.Element | ((props: any, schema?: any) => JSX.Element) | null | undefined;
            definitions?: import("amis").Definitions | undefined;
            animations?: import("amis").AnimationsProps | undefined;
        })[];
        type: string;
        title: string;
        mode: string;
        columnCount: number;
        clearValueOnHidden: boolean;
        behavior: ("SimpleQuery" | "AdvancedQuery")[];
        actions: ({
            type: string;
            label: string;
            level?: undefined;
        } | {
            type: string;
            label: string;
            level: string;
        })[];
    } | undefined>;
    buildToolbarContainer(align: 'left' | 'right', body?: Schema[], behaviors?: FeatType[]): {
        body: Schema[];
        wrapperBody: boolean;
        style: {
            justifyContent?: string | undefined;
            flexGrow: number;
            flex: string;
            position: string;
            display: string;
            flexBasis: string;
            flexDirection: string;
            flexWrap: string;
            alignItems: string;
        };
        behavior?: FeatType[] | undefined;
        id: string;
        type: string;
        align: "left" | "right";
    };
    buildToolbarFlex(position: 'header' | 'footer', left: Schema[], right: Schema[]): {
        type: string;
        direction: string;
        justify: string;
        alignItems: string;
        style: {
            position: string;
        };
        items: {
            body: Schema[];
            wrapperBody: boolean;
            style: {
                justifyContent?: string | undefined;
                flexGrow: number;
                flex: string;
                position: string;
                display: string;
                flexBasis: string;
                flexDirection: string;
                flexWrap: string;
                alignItems: string;
            };
            behavior?: FeatType[] | undefined;
            id: string;
            type: string;
            align: "left" | "right";
        }[];
    }[];
    /** 构建新增按钮 */
    buildInsertButton(options: CRUDBuilderOptions, componentId: string): Promise<{
        type: string;
        label: string;
        behavior: string;
        level: string;
        className: string;
        align: string;
        onEvent: {
            click: {
                actions: {
                    actionType: string;
                    dialog: {
                        title: string;
                        size: string;
                        id: string;
                        body: {
                            api: {
                                /** 新增后接口会返回主键字段，此时再次提交的时候可能会携带导致 SQL 执行错误 */
                                data: {
                                    [x: string]: string;
                                    '&': string;
                                };
                                config?: {
                                    withCredentials?: boolean | undefined;
                                    cancelExecutor?: ((cancel: Function) => void) | undefined;
                                } | undefined;
                                originUrl?: string | undefined;
                                jsonql?: any;
                                graphql?: string | undefined;
                                operationName?: string | undefined;
                                body?: import("amis").PlainObject | undefined;
                                query?: import("amis").PlainObject | undefined;
                                mockResponse?: {
                                    status: number;
                                    data?: any;
                                    delay?: number | undefined;
                                } | undefined;
                                adaptor?: import("amis").ResponseAdaptor | undefined;
                                requestAdaptor?: import("amis").RequestAdaptor | undefined;
                                context?: any;
                                filterEmptyQuery?: boolean | undefined;
                                downloadFileName?: string | undefined; /**
                                 * "action": 功能   -- 用于标识API的功能场景
                                 * "behavior": 功能 -- 用于标识普通组件的功能场景
                                 * "feat": 功能     -- 用于标识Form组件的功能场景
                                 */
                                method?: string | undefined;
                                url: string;
                                convertKeyToPath?: boolean | undefined;
                                responseData?: {
                                    [propName: string]: any;
                                } | undefined;
                                attachDataToQuery?: boolean | undefined;
                                dataType?: "form" | "json" | "form-data" | undefined;
                                responseType?: "blob" | undefined;
                                headers?: {
                                    [propName: string]: string | number;
                                } | undefined;
                                sendOn?: string | undefined;
                                replaceData?: boolean | undefined;
                                concatDataFields?: string | string[] | undefined;
                                autoRefresh?: boolean | undefined;
                                trackExpression?: string | undefined;
                                cache?: number | undefined;
                                forceAppendDataToQuery?: boolean | undefined;
                                qsOptions?: {
                                    arrayFormat?: "repeat" | "indices" | "brackets" | "comma" | undefined;
                                    indices?: boolean | undefined;
                                    allowDots?: boolean | undefined;
                                } | undefined;
                                silent?: boolean | undefined;
                                messages?: {
                                    success?: string | undefined;
                                    failed?: string | undefined;
                                } | undefined;
                                action?: FeatType | undefined;
                                origin?: "sdk" | "saas" | undefined;
                                sourceType?: "model-entity" | "api" | "apicenter" | undefined;
                                strategy?: "restful" | "jsonql" | undefined;
                                scene?: "list" | "suggestion" | "autoFill" | "options" | undefined;
                                entity?: {
                                    value: string;
                                    label: string;
                                    dsId: string;
                                    dsKey: string;
                                    dsLabel: string;
                                    mId: string;
                                    mKey: string;
                                    mLabel: string;
                                } | undefined;
                                select?: import("../type").SelectField[] | undefined;
                                limit?: "piece" | "multiple" | undefined;
                                filters?: import("amis").ConditionValue | undefined;
                                orders?: {
                                    field: string;
                                    order: boolean;
                                }[] | undefined;
                                runtimeQuery?: Record<string, string> | undefined;
                            };
                            onEvent: {
                                submitSucc: {
                                    actions: {
                                        actionType: string;
                                        groupType: string;
                                        componentId: string;
                                    }[];
                                };
                            };
                            body: any;
                            feat: any;
                            type: any;
                            mode: any;
                            id: any;
                            dsType: any;
                        };
                        actions: ({
                            type: string;
                            id: string;
                            actionType: string;
                            label: string;
                            level?: undefined;
                        } | {
                            type: string;
                            id: string;
                            actionType: string;
                            label: string;
                            level: string;
                        })[];
                    };
                }[];
            };
        };
    }>;
    /** 构建新增按钮 */
    buildBulkEditButton(options: CRUDBuilderOptions, componentId: string): Promise<{
        type: string;
        label: string;
        behavior: string;
        className: string;
        disabledOn: string;
        onEvent: {
            click: {
                actions: {
                    actionType: string;
                    dialog: {
                        size: string;
                        id: string;
                        title: string;
                        body: {
                            api: {
                                config?: {
                                    withCredentials?: boolean | undefined;
                                    cancelExecutor?: ((cancel: Function) => void) | undefined;
                                } | undefined;
                                originUrl?: string | undefined;
                                jsonql?: any;
                                graphql?: string | undefined;
                                operationName?: string | undefined;
                                body?: import("amis").PlainObject | undefined;
                                query?: import("amis").PlainObject | undefined;
                                mockResponse?: {
                                    status: number;
                                    data?: any;
                                    delay?: number | undefined;
                                } | undefined;
                                adaptor?: import("amis").ResponseAdaptor | undefined;
                                requestAdaptor?: import("amis").RequestAdaptor | undefined;
                                context?: any;
                                filterEmptyQuery?: boolean | undefined;
                                downloadFileName?: string | undefined; /**
                                 * "action": 功能   -- 用于标识API的功能场景
                                 * "behavior": 功能 -- 用于标识普通组件的功能场景
                                 * "feat": 功能     -- 用于标识Form组件的功能场景
                                 */
                                method?: string | undefined;
                                url: string;
                                data?: {
                                    [propName: string]: any;
                                } | undefined;
                                convertKeyToPath?: boolean | undefined;
                                responseData?: {
                                    [propName: string]: any;
                                } | undefined;
                                attachDataToQuery?: boolean | undefined;
                                dataType?: "form" | "json" | "form-data" | undefined;
                                responseType?: "blob" | undefined;
                                headers?: {
                                    [propName: string]: string | number;
                                } | undefined;
                                sendOn?: string | undefined;
                                replaceData?: boolean | undefined;
                                concatDataFields?: string | string[] | undefined;
                                autoRefresh?: boolean | undefined;
                                trackExpression?: string | undefined;
                                cache?: number | undefined;
                                forceAppendDataToQuery?: boolean | undefined;
                                qsOptions?: {
                                    arrayFormat?: "repeat" | "indices" | "brackets" | "comma" | undefined;
                                    indices?: boolean | undefined;
                                    allowDots?: boolean | undefined;
                                } | undefined;
                                silent?: boolean | undefined;
                                messages?: {
                                    success?: string | undefined;
                                    failed?: string | undefined;
                                } | undefined;
                                action?: FeatType | undefined;
                                origin?: "sdk" | "saas" | undefined;
                                sourceType?: "model-entity" | "api" | "apicenter" | undefined;
                                strategy?: "restful" | "jsonql" | undefined;
                                scene?: "list" | "suggestion" | "autoFill" | "options" | undefined;
                                entity?: {
                                    value: string;
                                    label: string;
                                    dsId: string;
                                    dsKey: string;
                                    dsLabel: string;
                                    mId: string;
                                    mKey: string;
                                    mLabel: string;
                                } | undefined;
                                select?: import("../type").SelectField[] | undefined;
                                limit?: "piece" | "multiple" | undefined;
                                filters?: import("amis").ConditionValue | undefined;
                                orders?: {
                                    field: string;
                                    order: boolean;
                                }[] | undefined;
                                runtimeQuery?: Record<string, string> | undefined;
                            };
                            onEvent: {
                                submitSucc: {
                                    actions: {
                                        actionType: string;
                                        groupType: string;
                                        componentId: string;
                                    }[];
                                };
                            };
                            body: any;
                            feat: any;
                            type: any;
                            mode: any;
                            id: any;
                            dsType: any;
                        };
                        actions: ({
                            id: string;
                            type: string;
                            actionType: string;
                            label: string;
                            level?: undefined;
                        } | {
                            id: string;
                            type: string;
                            actionType: string;
                            label: string;
                            level: string;
                        })[];
                    };
                }[];
            };
        };
    }>;
    /** 构建批量删除按钮 */
    buildBulkDeleteButton(options: CRUDBuilderOptions, componentId: string): Promise<{
        type: string;
        label: string;
        behavior: string;
        level: string;
        className: string;
        confirmText: string;
        disabledOn: string;
        onEvent: {
            click: {
                actions: ({
                    actionType: string;
                    api: {
                        config?: {
                            withCredentials?: boolean | undefined;
                            cancelExecutor?: ((cancel: Function) => void) | undefined;
                        } | undefined;
                        originUrl?: string | undefined;
                        jsonql?: any;
                        graphql?: string | undefined;
                        operationName?: string | undefined;
                        body?: import("amis").PlainObject | undefined;
                        query?: import("amis").PlainObject | undefined;
                        mockResponse?: {
                            status: number;
                            data?: any;
                            delay?: number | undefined;
                        } | undefined;
                        adaptor?: import("amis").ResponseAdaptor | undefined;
                        requestAdaptor?: import("amis").RequestAdaptor | undefined;
                        context?: any;
                        filterEmptyQuery?: boolean | undefined;
                        downloadFileName?: string | undefined; /**
                         * "action": 功能   -- 用于标识API的功能场景
                         * "behavior": 功能 -- 用于标识普通组件的功能场景
                         * "feat": 功能     -- 用于标识Form组件的功能场景
                         */
                        method?: string | undefined;
                        url: string;
                        data?: {
                            [propName: string]: any;
                        } | undefined;
                        convertKeyToPath?: boolean | undefined;
                        responseData?: {
                            [propName: string]: any;
                        } | undefined;
                        attachDataToQuery?: boolean | undefined;
                        dataType?: "form" | "json" | "form-data" | undefined;
                        responseType?: "blob" | undefined;
                        headers?: {
                            [propName: string]: string | number;
                        } | undefined;
                        sendOn?: string | undefined;
                        replaceData?: boolean | undefined;
                        concatDataFields?: string | string[] | undefined;
                        autoRefresh?: boolean | undefined;
                        trackExpression?: string | undefined;
                        cache?: number | undefined;
                        forceAppendDataToQuery?: boolean | undefined;
                        qsOptions?: {
                            arrayFormat?: "repeat" | "indices" | "brackets" | "comma" | undefined;
                            indices?: boolean | undefined;
                            allowDots?: boolean | undefined;
                        } | undefined;
                        silent?: boolean | undefined;
                        messages?: {
                            success?: string | undefined;
                            failed?: string | undefined;
                        } | undefined;
                        action?: FeatType | undefined;
                        origin?: "sdk" | "saas" | undefined;
                        sourceType?: "model-entity" | "api" | "apicenter" | undefined;
                        strategy?: "restful" | "jsonql" | undefined;
                        scene?: "list" | "suggestion" | "autoFill" | "options" | undefined;
                        entity?: {
                            value: string;
                            label: string;
                            dsId: string;
                            dsKey: string;
                            dsLabel: string;
                            mId: string;
                            mKey: string;
                            mLabel: string;
                        } | undefined;
                        select?: import("../type").SelectField[] | undefined;
                        limit?: "piece" | "multiple" | undefined;
                        filters?: import("amis").ConditionValue | undefined;
                        orders?: {
                            field: string;
                            order: boolean;
                        }[] | undefined;
                        runtimeQuery?: Record<string, string> | undefined;
                    };
                    groupType?: undefined;
                    componentId?: undefined;
                } | {
                    actionType: string;
                    groupType: string;
                    componentId: string;
                    api?: undefined;
                })[];
            };
        };
    }>;
    buildFuzzyQuery(options: CRUDBuilderOptions): Promise<{
        type: string;
        behavior: string;
        name: string;
        searchImediately: boolean;
        clearAndSubmit: boolean;
        clearable: boolean;
        className: string;
        fields: {
            fieldId: string;
            name: string;
            label: string;
            type: string;
            key: string;
            value: string;
            typeLabel?: string | undefined;
            masterModelId?: string | undefined;
        }[];
    }>;
    /** 构建工具栏 */
    buildHeaderToolbar(options: CRUDBuilderOptions, componentId: string): Promise<{
        type: string;
        direction: string;
        justify: string;
        alignItems: string;
        style: {
            position: string;
        };
        items: {
            body: Schema[];
            wrapperBody: boolean;
            style: {
                justifyContent?: string | undefined;
                flexGrow: number;
                flex: string;
                position: string;
                display: string;
                flexBasis: string;
                flexDirection: string;
                flexWrap: string;
                alignItems: string;
            };
            behavior?: FeatType[] | undefined;
            id: string;
            type: string;
            align: "left" | "right";
        }[];
    }[]>;
    /** 构建底部工具栏目 */
    buildFooterToolbar(options: CRUDBuilderOptions, componentId: string): Promise<{
        type: string;
        direction: string;
        justify: string;
        alignItems: string;
        style: {
            position: string;
        };
        items: {
            body: Schema[];
            wrapperBody: boolean;
            style: {
                justifyContent?: string | undefined;
                flexGrow: number;
                flex: string;
                position: string;
                display: string;
                flexBasis: string;
                flexDirection: string;
                flexWrap: string;
                alignItems: string;
            };
            behavior?: FeatType[] | undefined;
            id: string;
            type: string;
            align: "left" | "right";
        }[];
    }[]>;
    /** 构建操作列, 主要是编辑、删除、查看详情 */
    buildOperationColumn(options: CRUDBuilderOptions, componentId: string): Promise<{
        type: string;
        title: string;
        buttons: ({
            type: string;
            label: string;
            behavior: string;
            order: number;
            level: string;
            onEvent: {
                click: {
                    actions: {
                        actionType: string;
                        dialog: {
                            title: string;
                            id: string;
                            size: string;
                            body: {
                                static: boolean;
                                /** 这里覆盖一下EntityForm 构建出来的标识符 */
                                feat: string;
                                initApi: {
                                    limit: string;
                                    jsonql?: any;
                                    vars?: any[] | undefined;
                                    sourceType?: string | undefined;
                                    runtimeQuery?: Record<string, string> | undefined;
                                    config?: {
                                        withCredentials?: boolean | undefined;
                                        cancelExecutor?: ((cancel: Function) => void) | undefined;
                                    } | undefined;
                                    originUrl?: string | undefined;
                                    graphql?: string | undefined;
                                    operationName?: string | undefined;
                                    body?: import("amis").PlainObject | undefined;
                                    query?: import("amis").PlainObject | undefined;
                                    mockResponse?: {
                                        status: number;
                                        data?: any;
                                        delay?: number | undefined;
                                    } | undefined;
                                    adaptor?: import("amis").ResponseAdaptor | undefined;
                                    requestAdaptor?: import("amis").RequestAdaptor | undefined;
                                    context?: any;
                                    filterEmptyQuery?: boolean | undefined;
                                    downloadFileName?: string | undefined; /**
                                     * "action": 功能   -- 用于标识API的功能场景
                                     * "behavior": 功能 -- 用于标识普通组件的功能场景
                                     * "feat": 功能     -- 用于标识Form组件的功能场景
                                     */
                                    method?: string | undefined;
                                    url: string;
                                    data?: {
                                        [propName: string]: any;
                                    } | undefined;
                                    convertKeyToPath?: boolean | undefined;
                                    responseData?: {
                                        [propName: string]: any;
                                    } | undefined;
                                    attachDataToQuery?: boolean | undefined;
                                    dataType?: "form" | "json" | "form-data" | undefined;
                                    responseType?: "blob" | undefined;
                                    headers?: {
                                        [propName: string]: string | number;
                                    } | undefined;
                                    sendOn?: string | undefined;
                                    replaceData?: boolean | undefined;
                                    concatDataFields?: string | string[] | undefined;
                                    autoRefresh?: boolean | undefined;
                                    trackExpression?: string | undefined;
                                    cache?: number | undefined;
                                    forceAppendDataToQuery?: boolean | undefined;
                                    qsOptions?: {
                                        arrayFormat?: "repeat" | "indices" | "brackets" | "comma" | undefined;
                                        indices?: boolean | undefined;
                                        allowDots?: boolean | undefined;
                                    } | undefined;
                                    silent?: boolean | undefined;
                                    messages?: {
                                        success?: string | undefined;
                                        failed?: string | undefined;
                                    } | undefined;
                                    action?: FeatType | undefined;
                                    origin?: "sdk" | "saas" | undefined;
                                    strategy?: "restful" | "jsonql" | undefined;
                                    scene?: "list" | "suggestion" | "autoFill" | "options" | undefined;
                                    entity?: {
                                        value: string;
                                        label: string;
                                        dsId: string;
                                        dsKey: string;
                                        dsLabel: string;
                                        mId: string;
                                        mKey: string;
                                        mLabel: string;
                                    } | undefined;
                                    select?: import("../type").SelectField[] | undefined;
                                    filters?: import("amis").ConditionValue | undefined;
                                    orders?: {
                                        field: string;
                                        order: boolean;
                                    }[] | undefined;
                                };
                                onEvent: {
                                    submitSucc: {
                                        actions: {
                                            actionType: string;
                                            groupType: string;
                                            componentId: string;
                                        }[];
                                    };
                                };
                                body: any;
                                type: any;
                                mode: any;
                                id: any;
                                dsType: any;
                            };
                            actions: {
                                id: string;
                                type: string;
                                actionType: string;
                                label: string;
                            }[];
                        };
                    }[];
                };
            };
        } | {
            type: string;
            label: string;
            behavior: string;
            order: number;
            level: string;
            onEvent: {
                click: {
                    actions: {
                        actionType: string;
                        dialog: {
                            size: string;
                            id: string;
                            title: string;
                            body: {
                                api: {
                                    config?: {
                                        withCredentials?: boolean | undefined;
                                        cancelExecutor?: ((cancel: Function) => void) | undefined;
                                    } | undefined;
                                    originUrl?: string | undefined;
                                    jsonql?: any;
                                    graphql?: string | undefined;
                                    operationName?: string | undefined;
                                    body?: import("amis").PlainObject | undefined;
                                    query?: import("amis").PlainObject | undefined;
                                    mockResponse?: {
                                        status: number;
                                        data?: any;
                                        delay?: number | undefined;
                                    } | undefined;
                                    adaptor?: import("amis").ResponseAdaptor | undefined;
                                    requestAdaptor?: import("amis").RequestAdaptor | undefined;
                                    context?: any;
                                    filterEmptyQuery?: boolean | undefined;
                                    downloadFileName?: string | undefined; /**
                                     * "action": 功能   -- 用于标识API的功能场景
                                     * "behavior": 功能 -- 用于标识普通组件的功能场景
                                     * "feat": 功能     -- 用于标识Form组件的功能场景
                                     */
                                    method?: string | undefined;
                                    url: string;
                                    data?: {
                                        [propName: string]: any;
                                    } | undefined;
                                    convertKeyToPath?: boolean | undefined;
                                    responseData?: {
                                        [propName: string]: any;
                                    } | undefined;
                                    attachDataToQuery?: boolean | undefined;
                                    dataType?: "form" | "json" | "form-data" | undefined;
                                    responseType?: "blob" | undefined;
                                    headers?: {
                                        [propName: string]: string | number;
                                    } | undefined;
                                    sendOn?: string | undefined;
                                    replaceData?: boolean | undefined;
                                    concatDataFields?: string | string[] | undefined;
                                    autoRefresh?: boolean | undefined;
                                    trackExpression?: string | undefined;
                                    cache?: number | undefined;
                                    forceAppendDataToQuery?: boolean | undefined;
                                    qsOptions?: {
                                        arrayFormat?: "repeat" | "indices" | "brackets" | "comma" | undefined;
                                        indices?: boolean | undefined;
                                        allowDots?: boolean | undefined;
                                    } | undefined;
                                    silent?: boolean | undefined;
                                    messages?: {
                                        success?: string | undefined;
                                        failed?: string | undefined;
                                    } | undefined;
                                    action?: FeatType | undefined;
                                    origin?: "sdk" | "saas" | undefined;
                                    sourceType?: "model-entity" | "api" | "apicenter" | undefined;
                                    strategy?: "restful" | "jsonql" | undefined;
                                    scene?: "list" | "suggestion" | "autoFill" | "options" | undefined;
                                    entity?: {
                                        value: string;
                                        label: string;
                                        dsId: string;
                                        dsKey: string;
                                        dsLabel: string;
                                        mId: string;
                                        mKey: string;
                                        mLabel: string;
                                    } | undefined;
                                    select?: import("../type").SelectField[] | undefined;
                                    limit?: "piece" | "multiple" | undefined;
                                    filters?: import("amis").ConditionValue | undefined;
                                    orders?: {
                                        field: string;
                                        order: boolean;
                                    }[] | undefined;
                                    runtimeQuery?: Record<string, string> | undefined;
                                };
                                initApi: {
                                    limit: string;
                                    jsonql?: any;
                                    vars?: any[] | undefined;
                                    sourceType?: string | undefined;
                                    runtimeQuery?: Record<string, string> | undefined;
                                    config?: {
                                        withCredentials?: boolean | undefined;
                                        cancelExecutor?: ((cancel: Function) => void) | undefined;
                                    } | undefined;
                                    originUrl?: string | undefined;
                                    graphql?: string | undefined;
                                    operationName?: string | undefined;
                                    body?: import("amis").PlainObject | undefined;
                                    query?: import("amis").PlainObject | undefined;
                                    mockResponse?: {
                                        status: number;
                                        data?: any;
                                        delay?: number | undefined;
                                    } | undefined;
                                    adaptor?: import("amis").ResponseAdaptor | undefined;
                                    requestAdaptor?: import("amis").RequestAdaptor | undefined;
                                    context?: any;
                                    filterEmptyQuery?: boolean | undefined;
                                    downloadFileName?: string | undefined; /**
                                     * "action": 功能   -- 用于标识API的功能场景
                                     * "behavior": 功能 -- 用于标识普通组件的功能场景
                                     * "feat": 功能     -- 用于标识Form组件的功能场景
                                     */
                                    method?: string | undefined;
                                    url: string;
                                    data?: {
                                        [propName: string]: any;
                                    } | undefined;
                                    convertKeyToPath?: boolean | undefined;
                                    responseData?: {
                                        [propName: string]: any;
                                    } | undefined;
                                    attachDataToQuery?: boolean | undefined;
                                    dataType?: "form" | "json" | "form-data" | undefined;
                                    responseType?: "blob" | undefined;
                                    headers?: {
                                        [propName: string]: string | number;
                                    } | undefined;
                                    sendOn?: string | undefined;
                                    replaceData?: boolean | undefined;
                                    concatDataFields?: string | string[] | undefined;
                                    autoRefresh?: boolean | undefined;
                                    trackExpression?: string | undefined;
                                    cache?: number | undefined;
                                    forceAppendDataToQuery?: boolean | undefined;
                                    qsOptions?: {
                                        arrayFormat?: "repeat" | "indices" | "brackets" | "comma" | undefined;
                                        indices?: boolean | undefined;
                                        allowDots?: boolean | undefined;
                                    } | undefined;
                                    silent?: boolean | undefined;
                                    messages?: {
                                        success?: string | undefined;
                                        failed?: string | undefined;
                                    } | undefined;
                                    action?: FeatType | undefined;
                                    origin?: "sdk" | "saas" | undefined;
                                    strategy?: "restful" | "jsonql" | undefined;
                                    scene?: "list" | "suggestion" | "autoFill" | "options" | undefined;
                                    entity?: {
                                        value: string;
                                        label: string;
                                        dsId: string;
                                        dsKey: string;
                                        dsLabel: string;
                                        mId: string;
                                        mKey: string;
                                        mLabel: string;
                                    } | undefined;
                                    select?: import("../type").SelectField[] | undefined;
                                    filters?: import("amis").ConditionValue | undefined;
                                    orders?: {
                                        field: string;
                                        order: boolean;
                                    }[] | undefined;
                                };
                                onEvent: {
                                    submitSucc: {
                                        actions: {
                                            actionType: string;
                                            groupType: string;
                                            componentId: string;
                                        }[];
                                    };
                                };
                                body: any;
                                feat: any;
                                type: any;
                                mode: any;
                                id: any;
                                dsType: any;
                            };
                            actions: ({
                                id: string;
                                type: string;
                                actionType: string;
                                label: string;
                                level?: undefined;
                            } | {
                                id: string;
                                type: string;
                                actionType: string;
                                label: string;
                                level: string;
                            })[];
                        };
                    }[];
                };
            };
        } | {
            type: string;
            label: string;
            behavior: string;
            order: number;
            className: string;
            level: string;
            confirmText: string;
            onEvent: {
                click: {
                    actions: ({
                        actionType: string;
                        api: {
                            config?: {
                                withCredentials?: boolean | undefined;
                                cancelExecutor?: ((cancel: Function) => void) | undefined;
                            } | undefined;
                            originUrl?: string | undefined;
                            jsonql?: any;
                            graphql?: string | undefined;
                            operationName?: string | undefined;
                            body?: import("amis").PlainObject | undefined;
                            query?: import("amis").PlainObject | undefined;
                            mockResponse?: {
                                status: number;
                                data?: any;
                                delay?: number | undefined;
                            } | undefined;
                            adaptor?: import("amis").ResponseAdaptor | undefined;
                            requestAdaptor?: import("amis").RequestAdaptor | undefined;
                            context?: any;
                            filterEmptyQuery?: boolean | undefined;
                            downloadFileName?: string | undefined; /**
                             * "action": 功能   -- 用于标识API的功能场景
                             * "behavior": 功能 -- 用于标识普通组件的功能场景
                             * "feat": 功能     -- 用于标识Form组件的功能场景
                             */
                            method?: string | undefined;
                            url: string;
                            data?: {
                                [propName: string]: any;
                            } | undefined;
                            convertKeyToPath?: boolean | undefined;
                            responseData?: {
                                [propName: string]: any;
                            } | undefined;
                            attachDataToQuery?: boolean | undefined;
                            dataType?: "form" | "json" | "form-data" | undefined;
                            responseType?: "blob" | undefined;
                            headers?: {
                                [propName: string]: string | number;
                            } | undefined;
                            sendOn?: string | undefined;
                            replaceData?: boolean | undefined;
                            concatDataFields?: string | string[] | undefined;
                            autoRefresh?: boolean | undefined;
                            trackExpression?: string | undefined;
                            cache?: number | undefined;
                            forceAppendDataToQuery?: boolean | undefined;
                            qsOptions?: {
                                arrayFormat?: "repeat" | "indices" | "brackets" | "comma" | undefined;
                                indices?: boolean | undefined;
                                allowDots?: boolean | undefined;
                            } | undefined;
                            silent?: boolean | undefined;
                            messages?: {
                                success?: string | undefined;
                                failed?: string | undefined;
                            } | undefined;
                            action?: FeatType | undefined;
                            origin?: "sdk" | "saas" | undefined;
                            sourceType?: "model-entity" | "api" | "apicenter" | undefined;
                            strategy?: "restful" | "jsonql" | undefined;
                            scene?: "list" | "suggestion" | "autoFill" | "options" | undefined;
                            entity?: {
                                value: string;
                                label: string;
                                dsId: string;
                                dsKey: string;
                                dsLabel: string;
                                mId: string;
                                mKey: string;
                                mLabel: string;
                            } | undefined;
                            select?: import("../type").SelectField[] | undefined;
                            limit?: "piece" | "multiple" | undefined;
                            filters?: import("amis").ConditionValue | undefined;
                            orders?: {
                                field: string;
                                order: boolean;
                            }[] | undefined;
                            runtimeQuery?: Record<string, string> | undefined;
                        };
                        data: {
                            '&': string;
                        };
                        groupType?: undefined;
                        componentId?: undefined;
                    } | {
                        actionType: string;
                        groupType: string;
                        componentId: string;
                        api?: undefined;
                        data?: undefined;
                    })[];
                };
            };
        })[];
    }>;
    buildColumn(field: ExtraField, options?: CRUDBuilderOptions): Promise<false | {
        title: any;
        key: string;
        fieldId: string;
        relationBuildSetting: any;
        type?: string | undefined;
        detectField?: string | undefined;
        visibleOn?: string | undefined;
        hiddenOn?: string | undefined;
        disabledOn?: string | undefined;
        staticOn?: string | undefined;
        visible?: boolean | undefined;
        hidden?: boolean | undefined;
        disabled?: boolean | undefined;
        static?: boolean | undefined;
        children?: JSX.Element | ((props: any, schema?: any) => JSX.Element) | null | undefined;
        definitions?: import("amis").Definitions | undefined;
        animations?: import("amis").AnimationsProps | undefined;
    }>;
    /** 构建展示列 */
    buildColumns(options: CRUDBuilderOptions, componentId: string): Promise<(false | {
        title: any;
        key: string;
        fieldId: string;
        relationBuildSetting: any;
        type?: string | undefined;
        detectField?: string | undefined;
        visibleOn?: string | undefined;
        hiddenOn?: string | undefined;
        disabledOn?: string | undefined;
        staticOn?: string | undefined;
        visible?: boolean | undefined;
        hidden?: boolean | undefined;
        disabled?: boolean | undefined;
        static?: boolean | undefined;
        children?: JSX.Element | ((props: any, schema?: any) => JSX.Element) | null | undefined;
        definitions?: import("amis").Definitions | undefined;
        animations?: import("amis").AnimationsProps | undefined;
    } | {
        type: string;
        title: string;
        buttons: ({
            type: string;
            label: string;
            behavior: string;
            order: number;
            level: string;
            onEvent: {
                click: {
                    actions: {
                        actionType: string;
                        dialog: {
                            title: string;
                            id: string;
                            size: string;
                            body: {
                                static: boolean;
                                /** 这里覆盖一下EntityForm 构建出来的标识符 */
                                feat: string;
                                initApi: {
                                    limit: string;
                                    jsonql?: any;
                                    vars?: any[] | undefined;
                                    sourceType?: string | undefined;
                                    runtimeQuery?: Record<string, string> | undefined;
                                    config?: {
                                        withCredentials?: boolean | undefined;
                                        cancelExecutor?: ((cancel: Function) => void) | undefined;
                                    } | undefined;
                                    originUrl?: string | undefined;
                                    graphql?: string | undefined;
                                    operationName?: string | undefined;
                                    body?: import("amis").PlainObject | undefined;
                                    query?: import("amis").PlainObject | undefined;
                                    mockResponse?: {
                                        status: number;
                                        data?: any;
                                        delay?: number | undefined;
                                    } | undefined;
                                    adaptor?: import("amis").ResponseAdaptor | undefined;
                                    requestAdaptor?: import("amis").RequestAdaptor | undefined;
                                    context?: any;
                                    filterEmptyQuery?: boolean | undefined;
                                    downloadFileName?: string | undefined; /**
                                     * "action": 功能   -- 用于标识API的功能场景
                                     * "behavior": 功能 -- 用于标识普通组件的功能场景
                                     * "feat": 功能     -- 用于标识Form组件的功能场景
                                     */
                                    method?: string | undefined;
                                    url: string;
                                    data?: {
                                        [propName: string]: any;
                                    } | undefined;
                                    convertKeyToPath?: boolean | undefined;
                                    responseData?: {
                                        [propName: string]: any;
                                    } | undefined;
                                    attachDataToQuery?: boolean | undefined;
                                    dataType?: "form" | "json" | "form-data" | undefined;
                                    responseType?: "blob" | undefined;
                                    headers?: {
                                        [propName: string]: string | number;
                                    } | undefined;
                                    sendOn?: string | undefined;
                                    replaceData?: boolean | undefined;
                                    concatDataFields?: string | string[] | undefined;
                                    autoRefresh?: boolean | undefined;
                                    trackExpression?: string | undefined;
                                    cache?: number | undefined;
                                    forceAppendDataToQuery?: boolean | undefined;
                                    qsOptions?: {
                                        arrayFormat?: "repeat" | "indices" | "brackets" | "comma" | undefined;
                                        indices?: boolean | undefined;
                                        allowDots?: boolean | undefined;
                                    } | undefined;
                                    silent?: boolean | undefined;
                                    messages?: {
                                        success?: string | undefined;
                                        failed?: string | undefined;
                                    } | undefined;
                                    action?: FeatType | undefined;
                                    origin?: "sdk" | "saas" | undefined;
                                    strategy?: "restful" | "jsonql" | undefined;
                                    scene?: "list" | "suggestion" | "autoFill" | "options" | undefined;
                                    entity?: {
                                        value: string;
                                        label: string;
                                        dsId: string;
                                        dsKey: string;
                                        dsLabel: string;
                                        mId: string;
                                        mKey: string;
                                        mLabel: string;
                                    } | undefined;
                                    select?: import("../type").SelectField[] | undefined;
                                    filters?: import("amis").ConditionValue | undefined;
                                    orders?: {
                                        field: string;
                                        order: boolean;
                                    }[] | undefined;
                                };
                                onEvent: {
                                    submitSucc: {
                                        actions: {
                                            actionType: string;
                                            groupType: string;
                                            componentId: string;
                                        }[];
                                    };
                                };
                                body: any;
                                type: any;
                                mode: any;
                                id: any;
                                dsType: any;
                            };
                            actions: {
                                id: string;
                                type: string;
                                actionType: string;
                                label: string;
                            }[];
                        };
                    }[];
                };
            };
        } | {
            type: string;
            label: string;
            behavior: string;
            order: number;
            level: string;
            onEvent: {
                click: {
                    actions: {
                        actionType: string;
                        dialog: {
                            size: string;
                            id: string;
                            title: string;
                            body: {
                                api: {
                                    config?: {
                                        withCredentials?: boolean | undefined;
                                        cancelExecutor?: ((cancel: Function) => void) | undefined;
                                    } | undefined;
                                    originUrl?: string | undefined;
                                    jsonql?: any;
                                    graphql?: string | undefined;
                                    operationName?: string | undefined;
                                    body?: import("amis").PlainObject | undefined;
                                    query?: import("amis").PlainObject | undefined;
                                    mockResponse?: {
                                        status: number;
                                        data?: any;
                                        delay?: number | undefined;
                                    } | undefined;
                                    adaptor?: import("amis").ResponseAdaptor | undefined;
                                    requestAdaptor?: import("amis").RequestAdaptor | undefined;
                                    context?: any;
                                    filterEmptyQuery?: boolean | undefined;
                                    downloadFileName?: string | undefined; /**
                                     * "action": 功能   -- 用于标识API的功能场景
                                     * "behavior": 功能 -- 用于标识普通组件的功能场景
                                     * "feat": 功能     -- 用于标识Form组件的功能场景
                                     */
                                    method?: string | undefined;
                                    url: string;
                                    data?: {
                                        [propName: string]: any;
                                    } | undefined;
                                    convertKeyToPath?: boolean | undefined;
                                    responseData?: {
                                        [propName: string]: any;
                                    } | undefined;
                                    attachDataToQuery?: boolean | undefined;
                                    dataType?: "form" | "json" | "form-data" | undefined;
                                    responseType?: "blob" | undefined;
                                    headers?: {
                                        [propName: string]: string | number;
                                    } | undefined;
                                    sendOn?: string | undefined;
                                    replaceData?: boolean | undefined;
                                    concatDataFields?: string | string[] | undefined;
                                    autoRefresh?: boolean | undefined;
                                    trackExpression?: string | undefined;
                                    cache?: number | undefined;
                                    forceAppendDataToQuery?: boolean | undefined;
                                    qsOptions?: {
                                        arrayFormat?: "repeat" | "indices" | "brackets" | "comma" | undefined;
                                        indices?: boolean | undefined;
                                        allowDots?: boolean | undefined;
                                    } | undefined;
                                    silent?: boolean | undefined;
                                    messages?: {
                                        success?: string | undefined;
                                        failed?: string | undefined;
                                    } | undefined;
                                    action?: FeatType | undefined;
                                    origin?: "sdk" | "saas" | undefined;
                                    sourceType?: "model-entity" | "api" | "apicenter" | undefined;
                                    strategy?: "restful" | "jsonql" | undefined;
                                    scene?: "list" | "suggestion" | "autoFill" | "options" | undefined;
                                    entity?: {
                                        value: string;
                                        label: string;
                                        dsId: string;
                                        dsKey: string;
                                        dsLabel: string;
                                        mId: string;
                                        mKey: string;
                                        mLabel: string;
                                    } | undefined;
                                    select?: import("../type").SelectField[] | undefined;
                                    limit?: "piece" | "multiple" | undefined;
                                    filters?: import("amis").ConditionValue | undefined;
                                    orders?: {
                                        field: string;
                                        order: boolean;
                                    }[] | undefined;
                                    runtimeQuery?: Record<string, string> | undefined;
                                };
                                initApi: {
                                    limit: string;
                                    jsonql?: any;
                                    vars?: any[] | undefined;
                                    sourceType?: string | undefined;
                                    runtimeQuery?: Record<string, string> | undefined;
                                    config?: {
                                        withCredentials?: boolean | undefined;
                                        cancelExecutor?: ((cancel: Function) => void) | undefined;
                                    } | undefined;
                                    originUrl?: string | undefined;
                                    graphql?: string | undefined;
                                    operationName?: string | undefined;
                                    body?: import("amis").PlainObject | undefined;
                                    query?: import("amis").PlainObject | undefined;
                                    mockResponse?: {
                                        status: number;
                                        data?: any;
                                        delay?: number | undefined;
                                    } | undefined;
                                    adaptor?: import("amis").ResponseAdaptor | undefined;
                                    requestAdaptor?: import("amis").RequestAdaptor | undefined;
                                    context?: any;
                                    filterEmptyQuery?: boolean | undefined;
                                    downloadFileName?: string | undefined; /**
                                     * "action": 功能   -- 用于标识API的功能场景
                                     * "behavior": 功能 -- 用于标识普通组件的功能场景
                                     * "feat": 功能     -- 用于标识Form组件的功能场景
                                     */
                                    method?: string | undefined;
                                    url: string;
                                    data?: {
                                        [propName: string]: any;
                                    } | undefined;
                                    convertKeyToPath?: boolean | undefined;
                                    responseData?: {
                                        [propName: string]: any;
                                    } | undefined;
                                    attachDataToQuery?: boolean | undefined;
                                    dataType?: "form" | "json" | "form-data" | undefined;
                                    responseType?: "blob" | undefined;
                                    headers?: {
                                        [propName: string]: string | number;
                                    } | undefined;
                                    sendOn?: string | undefined;
                                    replaceData?: boolean | undefined;
                                    concatDataFields?: string | string[] | undefined;
                                    autoRefresh?: boolean | undefined;
                                    trackExpression?: string | undefined;
                                    cache?: number | undefined;
                                    forceAppendDataToQuery?: boolean | undefined;
                                    qsOptions?: {
                                        arrayFormat?: "repeat" | "indices" | "brackets" | "comma" | undefined;
                                        indices?: boolean | undefined;
                                        allowDots?: boolean | undefined;
                                    } | undefined;
                                    silent?: boolean | undefined;
                                    messages?: {
                                        success?: string | undefined;
                                        failed?: string | undefined;
                                    } | undefined;
                                    action?: FeatType | undefined;
                                    origin?: "sdk" | "saas" | undefined;
                                    strategy?: "restful" | "jsonql" | undefined;
                                    scene?: "list" | "suggestion" | "autoFill" | "options" | undefined;
                                    entity?: {
                                        value: string;
                                        label: string;
                                        dsId: string;
                                        dsKey: string;
                                        dsLabel: string;
                                        mId: string;
                                        mKey: string;
                                        mLabel: string;
                                    } | undefined;
                                    select?: import("../type").SelectField[] | undefined;
                                    filters?: import("amis").ConditionValue | undefined;
                                    orders?: {
                                        field: string;
                                        order: boolean;
                                    }[] | undefined;
                                };
                                onEvent: {
                                    submitSucc: {
                                        actions: {
                                            actionType: string;
                                            groupType: string;
                                            componentId: string;
                                        }[];
                                    };
                                };
                                body: any;
                                feat: any;
                                type: any;
                                mode: any;
                                id: any;
                                dsType: any;
                            };
                            actions: ({
                                id: string;
                                type: string;
                                actionType: string;
                                label: string;
                                level?: undefined;
                            } | {
                                id: string;
                                type: string;
                                actionType: string;
                                label: string;
                                level: string;
                            })[];
                        };
                    }[];
                };
            };
        } | {
            type: string;
            label: string;
            behavior: string;
            order: number;
            className: string;
            level: string;
            confirmText: string;
            onEvent: {
                click: {
                    actions: ({
                        actionType: string;
                        api: {
                            config?: {
                                withCredentials?: boolean | undefined;
                                cancelExecutor?: ((cancel: Function) => void) | undefined;
                            } | undefined;
                            originUrl?: string | undefined;
                            jsonql?: any;
                            graphql?: string | undefined;
                            operationName?: string | undefined;
                            body?: import("amis").PlainObject | undefined;
                            query?: import("amis").PlainObject | undefined;
                            mockResponse?: {
                                status: number;
                                data?: any;
                                delay?: number | undefined;
                            } | undefined;
                            adaptor?: import("amis").ResponseAdaptor | undefined;
                            requestAdaptor?: import("amis").RequestAdaptor | undefined;
                            context?: any;
                            filterEmptyQuery?: boolean | undefined;
                            downloadFileName?: string | undefined; /**
                             * "action": 功能   -- 用于标识API的功能场景
                             * "behavior": 功能 -- 用于标识普通组件的功能场景
                             * "feat": 功能     -- 用于标识Form组件的功能场景
                             */
                            method?: string | undefined;
                            url: string;
                            data?: {
                                [propName: string]: any;
                            } | undefined;
                            convertKeyToPath?: boolean | undefined;
                            responseData?: {
                                [propName: string]: any;
                            } | undefined;
                            attachDataToQuery?: boolean | undefined;
                            dataType?: "form" | "json" | "form-data" | undefined;
                            responseType?: "blob" | undefined;
                            headers?: {
                                [propName: string]: string | number;
                            } | undefined;
                            sendOn?: string | undefined;
                            replaceData?: boolean | undefined;
                            concatDataFields?: string | string[] | undefined;
                            autoRefresh?: boolean | undefined;
                            trackExpression?: string | undefined;
                            cache?: number | undefined;
                            forceAppendDataToQuery?: boolean | undefined;
                            qsOptions?: {
                                arrayFormat?: "repeat" | "indices" | "brackets" | "comma" | undefined;
                                indices?: boolean | undefined;
                                allowDots?: boolean | undefined;
                            } | undefined;
                            silent?: boolean | undefined;
                            messages?: {
                                success?: string | undefined;
                                failed?: string | undefined;
                            } | undefined;
                            action?: FeatType | undefined;
                            origin?: "sdk" | "saas" | undefined;
                            sourceType?: "model-entity" | "api" | "apicenter" | undefined;
                            strategy?: "restful" | "jsonql" | undefined;
                            scene?: "list" | "suggestion" | "autoFill" | "options" | undefined;
                            entity?: {
                                value: string;
                                label: string;
                                dsId: string;
                                dsKey: string;
                                dsLabel: string;
                                mId: string;
                                mKey: string;
                                mLabel: string;
                            } | undefined;
                            select?: import("../type").SelectField[] | undefined;
                            limit?: "piece" | "multiple" | undefined;
                            filters?: import("amis").ConditionValue | undefined;
                            orders?: {
                                field: string;
                                order: boolean;
                            }[] | undefined;
                            runtimeQuery?: Record<string, string> | undefined;
                        };
                        data: {
                            '&': string;
                        };
                        groupType?: undefined;
                        componentId?: undefined;
                    } | {
                        actionType: string;
                        groupType: string;
                        componentId: string;
                        api?: undefined;
                        data?: undefined;
                    })[];
                };
            };
        })[];
    })[]>;
    /** 基于当前 Schema 重新构建API */
    rebuildApi(schema: any, options?: CRUDBuilderOptions, sharedContext?: SharedContext): Promise<any>;
    build(options: CRUDBuilderOptions, 
    /** 原始Schema */
    pristineSchema?: any, sharedContext?: SharedContext): Promise<any>;
}
