import { ApiBuilder } from '../schema-builder/ApiBuilder';
import { FieldItem, MayBeSchema } from '../type';
import { FilterOP } from '../utils/FilterUtils';
import { Manager } from './Manager';
import { BuildFieldSchemaContext, BuildModelFormFieldContext, PluginInterface } from './PluginInterface';
export declare abstract class BasePlugin implements PluginInterface {
    readonly manager: Manager;
    constructor(manager: Manager);
    overridFieldSchema(schema: MayBeSchema, options: {
        label?: string;
        description?: string;
        labelRemark?: string;
        isStatic?: boolean;
        size?: string;
        [propName: string]: any;
    }): void;
    addSelect(ab: ApiBuilder, field: FieldItem): void;
    /**
     * 构建查看模式的快速编辑配置
     */
    buildFieldViewQuickEditSettingForm(context: BuildFieldSchemaContext): Promise<any[]>;
    buildQuickEdit(schema: MayBeSchema, context: BuildFieldSchemaContext, options: {
        quickEdit?: boolean;
        quickEditSettings?: Record<string, any>;
    }, retrieveData?: boolean): Promise<void>;
    /**
     * 构建查看模式的快速搜索配置
     */
    buildFieldViewSearchableSettingForm(context: BuildFieldSchemaContext): Promise<any[]>;
    /**
     * 构建字段作为查询条件时用什么schema
     */
    buildFieldFilterSchema(schema: MayBeSchema, context: BuildFieldSchemaContext, options: {
        label?: string;
        searchOp?: FilterOP;
        [propName: string]: any;
    }, ab?: ApiBuilder): Promise<void>;
    buildFieldConditionFieldConfig(schema: MayBeSchema, context: BuildModelFormFieldContext): Promise<void>;
}
