import React from 'react';
import { Manager } from '../base/Manager';
import { DataSourceItem, FormSchema, ModelItem } from '../type';
import { SchemaBuilderInterface } from '../schema-builder/SchemaBuilder';
import type { PluginEvent, ActiveEventContext, RendererInfoResolveEventContext, EditorStoreType, InsertEventContext, DeleteEventContext, MoveEventContext, ContextMenuEventContext } from 'amis-editor';
export interface EditorPanel {
    title?: string;
    traceId: string;
    body: Array<any>;
}
export interface SchemaBuilderEditorProps {
    value: any;
    builderType: 'page-form' | 'page-table-list' | string;
    onChange: (value: any) => void;
    datasource?: DataSourceItem;
    models?: Array<ModelItem>;
    model?: ModelItem;
    disabled?: boolean;
    manager: Manager;
    ctx?: any;
    isMobile?: boolean;
    preview?: boolean;
}
export declare class SchemaBuilderEditor extends React.Component<SchemaBuilderEditorProps> {
    componentDidMount(): void;
    componentDidUpdate(prevProps: Readonly<SchemaBuilderEditorProps>): void;
    componentWillUnmount(): void;
    builder?: SchemaBuilderInterface;
    toDispose: Array<() => void>;
    rightPanelWrapper: React.RefObject<any>;
    valueBox: import("mobx").IObservableValue<{}>;
    panels: import("mobx").IObservableArray<EditorPanel & {
        id: string;
        schema: FormSchema;
    }>;
    editorView: string;
    schemaKey: string;
    schemaKeyInvalid: boolean;
    schemaBox: import("mobx").IObservableValue<{
        type: string;
    }>;
    get schema(): any;
    get value(): any;
    getBuilder(): SchemaBuilderInterface<any> | undefined;
    get editorViews(): import("../schema-builder/SchemaBuilder").EditorView[];
    editor?: any;
    editorManager?: any;
    editorStore?: EditorStoreType;
    editorRef(ref: any): void;
    buildViewSchema(value: any, editorView: string): Promise<void>;
    getPanelFormSchema(traceId: string): any;
    getPanelFormData(traceId: string): any;
    handlePanelChange(panel: EditorPanel, values: any): void;
    switchEditorView(type: string): void;
    setModelKey(modelKey?: string): Promise<void>;
    closePanel(): void;
    handleSchemaChange(schema: any): void;
    resolveEditorInfo(event: PluginEvent<RendererInfoResolveEventContext>): void;
    handleActive(event: PluginEvent<ActiveEventContext>): Promise<void>;
    beforeInsert(event: PluginEvent<InsertEventContext>): void;
    beforeDelete(event: PluginEvent<DeleteEventContext>): void;
    afterMove(event: PluginEvent<MoveEventContext>): void;
    buildContextMenus(event: PluginEvent<ContextMenuEventContext>): void;
    getRightPanelWrapperDom(): HTMLElement;
    render(): React.JSX.Element;
}
declare const _default: {
    new (props: Omit<SchemaBuilderEditorProps, "manager"> & import("../base/Manager").ManagerOptions & {
        manager?: Manager | undefined;
    }, context: Manager): {
        ref: any;
        readonly manager: Manager;
        readonly isSharedManager: boolean;
        componentWillUnmount(): void;
        getWrappedInstance(): any;
        childRef(ref: any): void;
        render(): React.JSX.Element;
        context: unknown;
        setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Omit<SchemaBuilderEditorProps, "manager"> & import("../base/Manager").ManagerOptions & {
            manager?: Manager | undefined;
        }>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
        forceUpdate(callback?: (() => void) | undefined): void;
        readonly props: Readonly<Omit<SchemaBuilderEditorProps, "manager"> & import("../base/Manager").ManagerOptions & {
            manager?: Manager | undefined;
        }>;
        state: Readonly<{}>;
        refs: {
            [key: string]: React.ReactInstance;
        };
        componentDidMount?(): void;
        shouldComponentUpdate?(nextProps: Readonly<Omit<SchemaBuilderEditorProps, "manager"> & import("../base/Manager").ManagerOptions & {
            manager?: Manager | undefined;
        }>, nextState: Readonly<{}>, nextContext: any): boolean;
        componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
        getSnapshotBeforeUpdate?(prevProps: Readonly<Omit<SchemaBuilderEditorProps, "manager"> & import("../base/Manager").ManagerOptions & {
            manager?: Manager | undefined;
        }>, prevState: Readonly<{}>): any;
        componentDidUpdate?(prevProps: Readonly<Omit<SchemaBuilderEditorProps, "manager"> & import("../base/Manager").ManagerOptions & {
            manager?: Manager | undefined;
        }>, prevState: Readonly<{}>, snapshot?: any): void;
        componentWillMount?(): void;
        UNSAFE_componentWillMount?(): void;
        componentWillReceiveProps?(nextProps: Readonly<Omit<SchemaBuilderEditorProps, "manager"> & import("../base/Manager").ManagerOptions & {
            manager?: Manager | undefined;
        }>, nextContext: any): void;
        UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Omit<SchemaBuilderEditorProps, "manager"> & import("../base/Manager").ManagerOptions & {
            manager?: Manager | undefined;
        }>, nextContext: any): void;
        componentWillUpdate?(nextProps: Readonly<Omit<SchemaBuilderEditorProps, "manager"> & import("../base/Manager").ManagerOptions & {
            manager?: Manager | undefined;
        }>, nextState: Readonly<{}>, nextContext: any): void;
        UNSAFE_componentWillUpdate?(nextProps: Readonly<Omit<SchemaBuilderEditorProps, "manager"> & import("../base/Manager").ManagerOptions & {
            manager?: Manager | undefined;
        }>, nextState: Readonly<{}>, nextContext: any): void;
    };
    displayName: string;
    contextType: React.Context<Manager | null>;
    ComposedComponent: typeof SchemaBuilderEditor;
};
export default _default;
