import { BasePlugin } from '../../base/BasePlugin';
import { MayBeSchema, RelationMode } from '../../type';
import { BuildFieldSchemaContext } from '../../base/PluginInterface';
import { ApiBuilder } from '../../schema-builder/ApiBuilder';
export declare class OneToManyRelationPlugin extends BasePlugin {
    static id: string;
    registerRelationType(): {
        type: RelationMode;
        title: string;
        description: string;
    };
    /**
     * 构建字段查看模式可配置的属性配置面板表单
     */
    buildFieldViewSettingForm(schema: MayBeSchema, context: BuildFieldSchemaContext): Promise<void>;
    buildFieldViewSchema(schema: MayBeSchema, context: BuildFieldSchemaContext, options?: {
        displayType?: 'dialog' | 'drawer' | 'embed' | 'link';
        displayColumns?: Array<string>;
        displayTpl?: string;
        tpl?: string;
        quickEdit?: boolean;
        [propName: string]: any;
    }, ab?: ApiBuilder): Promise<void>;
    /**
     * 构建字段编辑模式可配置的属性配置面板表单
     */
    buildFieldEditSettingForm(schema: MayBeSchema, context: BuildFieldSchemaContext): Promise<void>;
    buildFieldEditSchema(schema: MayBeSchema, context: BuildFieldSchemaContext, options: {
        label?: string;
        inputType?: 'combo' | 'table' | 'select' | 'checkboxes' | 'list-select' | 'picker';
        inputColumns?: Array<string>;
        inputCreatable?: boolean;
        inputEditable?: boolean;
        inputRemovable?: boolean;
        /** 关系表的交互方式 */
        interationType?: 'embed' | 'drawer' | 'dialog';
        /** 选项类控件的展示标题 */
        labelField: string;
        [propName: string]: any;
    }, ab?: ApiBuilder): Promise<void>;
    /**
     * 构建字段作为查询字段时可配置的属性配置面板表单
     */
    buildFieldFilterSettingForm(schema: MayBeSchema, context: BuildFieldSchemaContext): Promise<void>;
    /**
     * 构建关系字段在脚手架中的编辑配置项
     */
    buildFieldScaffoldEditSettingForm(schema: MayBeSchema, context: BuildFieldSchemaContext): void;
}
