import { BasePlugin } from '../base/BasePlugin';
import { BuildFieldSchemaContext, BuildModelFormFieldContext } from '../base/PluginInterface';
import { FieldItem, FormSchema, MayBeSchema, TableColumn } from '../type';
import { ApiBuilder } from '../schema-builder/ApiBuilder';
import { FilterOP } from '../utils/FilterUtils';
export declare class DepartmentFieldPlugin extends BasePlugin {
    static id: string;
    registerFieldType(): {
        type: string;
        title: string;
        description: string;
        acceptDBColumn: (column: TableColumn, field?: FieldItem) => boolean;
        filterable: boolean;
        allowedFilterOp: {
            label: string;
            value: string;
        }[];
        CBType: string;
    };
    /**
     * 构建模型字段右侧面板表单
     */
    buildModelFieldForm(schema: FormSchema, context: BuildModelFormFieldContext): void;
    /**
     * 构建字段查看模式可配置的属性配置面板表单
     */
    buildFieldViewSettingForm(schema: FormSchema, context: BuildFieldSchemaContext): Promise<void>;
    /**
     * 构建字段查看形态的 amis schema
     */
    buildFieldViewSchema(schema: MayBeSchema, context: BuildFieldSchemaContext, options: {
        label?: string;
        quickEdit?: boolean;
        filterable?: boolean;
        [propName: string]: any;
    }, ab?: ApiBuilder): Promise<void>;
    /**
     * 构建字段编辑模式可配置的属性配置面板表单
     */
    buildFieldEditSettingForm(schema: FormSchema, context: BuildFieldSchemaContext): Promise<void>;
    /**
     * 构建字段编辑形态的 amis schema
     */
    buildFieldEditSchema(schema: MayBeSchema, context: BuildFieldSchemaContext, options: {
        label?: string;
        isStatic?: boolean;
    }, ab?: ApiBuilder): void;
    /**
     * 构建字段作为查询字段时可配置的属性配置面板表单
     */
    buildFieldFilterSettingForm(schema: FormSchema, context: BuildFieldSchemaContext): Promise<void>;
    buildFieldFilterSchema(schema: MayBeSchema, context: BuildFieldSchemaContext, options: {
        label?: string;
        searchOp?: FilterOP;
        [propName: string]: any;
    }, ab?: ApiBuilder): Promise<void>;
}
