import { Api } from '../type';
import { ApiBuilder } from './ApiBuilder';
export type Strategy = 'restful' | 'jsonql' | 'mixed';
export interface ApiStrategyInterface {
    strategy: Strategy;
    options: any;
    apiPrefix: string;
    modelInfo?: {
        /** 实体字段值, 格式: 数据源.表名 */
        value: string;
        /** 实体字段Label, 格式: 数据源 / 表名 */
        label: string;
        /** 数据源ID */
        dsId: string;
        /** 数据源Key */
        dsKey: string;
        /** 数据源名称 */
        dsLabel: string;
        /** 实体模型ID */
        mId: string;
        /** 实体模型Key */
        mKey: string;
        /** 实体模型名称 */
        mLabel: string;
    };
    setOptions: (value: Record<string, any>) => void;
    listApi: (ab: ApiBuilder) => Api;
    detailApi: (ab: ApiBuilder, options?: {
        primaryKey?: string;
        presetConditions?: any;
    }) => Api;
    storeApi: () => Api;
    quickSaveApi: (ab: ApiBuilder) => Api;
    quickSaveItemApi: (ab: ApiBuilder) => Api;
    updateApi: (ab?: ApiBuilder) => Api;
    deleteApi: (ab?: ApiBuilder) => Api;
    optionsApi: (ab?: ApiBuilder) => Api;
    autoCompleteApi: (ab?: ApiBuilder) => Api;
    bulkDeleteApi: (ab?: ApiBuilder) => Api;
    bulkSaveApi: (ab?: ApiBuilder) => Api;
    saveOrderApi: (ab?: ApiBuilder) => Api;
    exportApi: () => Api;
    importApi: () => Api;
    importAsyncApi: () => Api;
    donwloadImportTemplateApi: () => Api;
    truncatApi: () => Api;
}
