import '../index';
import { BaseEventContext, BasicToolbarItem, ContextMenuEventContext, ContextMenuItem, BasePlugin as EditorBasePlugin, EditorManager, EditorNodeType, PluginEvent, ReplaceEventContext } from 'amis-editor';
import { Manager, ManagerOptions } from '../base/Manager';
import React from 'react';
import { DataSourceItem, FieldItem, ModelItem } from '../type';
import { SchemaBuilderInterface } from '../schema-builder/SchemaBuilder';
export declare class BasePlugin extends EditorBasePlugin {
    readonly manager: EditorManager;
    readonly erManager: Manager;
    constructor(manager: EditorManager, options?: ManagerOptions);
    afterReplace(event: PluginEvent<ReplaceEventContext>): void;
    makeModelFieldPanel(options: {
        dsId: string;
        id: string;
        key: string;
        name: string;
        dsName: string;
        [propName: string]: any;
    }, node: EditorNodeType, type: string, field: FieldItem, region?: string): (props: any) => React.JSX.Element;
    makeModelPanel(options: {
        dsId: string;
        id: string;
        key: string;
        name: string;
        dsName: string;
        [propName: string]: any;
    }, node: EditorNodeType, type: string): (props: any) => React.JSX.Element;
    makeAsyncPanel(options: {
        dsId: string;
        id: string;
        key: string;
        name: string;
        dsName: string;
        [propName: string]: any;
    }, node: EditorNodeType, type: string, makeRender: (builder: SchemaBuilderInterface) => Promise<any>, headerRender?: (context: {
        datasource: DataSourceItem;
        model: ModelItem;
    }) => JSX.Element): (props: any) => React.JSX.Element;
    buildEditorToolbar({ id, info, node }: BaseEventContext, toolbars: Array<BasicToolbarItem>): void;
    /**
     * 构建当前选中组件的右键菜单
     * @param id
     * @param schema
     * @param region
     * @param info
     * @param menus
     */
    buildEditorContextMenu({ id, schema, region, info, node, selections }: ContextMenuEventContext, menus: Array<ContextMenuItem>): void;
}
