import { FieldItem, RelationShipItem } from '../type';
import { BaseSchemaBuilder, EditorView } from './SchemaBuilder';
import { PageFormSchemaBuilder } from './PageForm';
import { ApiBuilder } from './ApiBuilder';
export interface PageTableListBuildOptions {
    title?: string;
    subTitle?: string;
    remark?: string;
    tablePlaceholder?: any;
    listFields: Array<FieldItem | RelationShipItem>;
    viewFields?: Array<FieldItem | RelationShipItem>;
    createFields?: Array<FieldItem | RelationShipItem>;
    updateFields?: Array<FieldItem | RelationShipItem>;
    bulkEditFields?: Array<FieldItem | RelationShipItem>;
    filters?: Array<any>;
    enableBulkDelete?: boolean;
    enableBulkEdit?: boolean;
    enableExportData?: boolean;
    enableImportData?: boolean;
    enableKeywordsFilter?: boolean;
    keywordsFields?: Array<FieldItem>;
    showDetail?: boolean;
    detailLabel?: string;
    detailModalType?: 'dialog' | 'drawer';
    detailModalSize?: 'sm' | 'base' | 'md' | 'lg';
    enableCreate?: boolean;
    createLabel?: string;
    createModalType?: 'dialog' | 'drawer';
    createModalSize?: 'sm' | 'base' | 'md' | 'lg';
    enableUpdate?: boolean;
    updateLabel?: string;
    updateModalType?: 'dialog' | 'drawer';
    updateModalSize?: 'sm' | 'base' | 'md' | 'lg';
    enableDelete?: boolean;
    deleteLabel?: string;
    enableFilter?: boolean;
    enableTruncatData?: boolean;
    showRefresher?: boolean;
    defaultOrderBy?: string;
    defaultOrderDir?: string;
    enableSearchable?: boolean;
}
export declare class PageTableListSchemaBuilder extends BaseSchemaBuilder<PageTableListBuildOptions> {
    static id: string;
    readonly formBuilder: PageFormSchemaBuilder;
    setTraceMode(value: boolean): void;
    /**
     * 构建默认配置项
     * @returns
     */
    makeDefaultOptions(): PageTableListBuildOptions;
    /**
     * 基于配置项构建构建页面
     * @param options
     * @returns
     */
    build(options?: PageTableListBuildOptions): Promise<any>;
    protected buildColumn(field: FieldItem, ab?: ApiBuilder, options?: PageTableListBuildOptions): Promise<import("amis").Schema | undefined>;
    protected buildTableList(options: PageTableListBuildOptions): Promise<any>;
    protected buildDetailForm(options: PageTableListBuildOptions): Promise<import("amis").Schema>;
    protected buildStoreForm(options: PageTableListBuildOptions): Promise<import("amis").Schema>;
    protected buildUpdateForm(options: PageTableListBuildOptions): Promise<import("amis").Schema>;
    protected buildBulkUpdateForm(options: PageTableListBuildOptions): Promise<import("amis").Schema>;
    getEditorViews(options: PageTableListBuildOptions): EditorView[];
    buildPartialView(options: PageTableListBuildOptions, editorView: string): Promise<any>;
    /**
     * 构建配置面板
     */
    initEditor(): void;
}
