/// <reference path="../../../../src/@types/@kano/common/index.d.ts" />
import { SourceEditor } from './source-editor.js';
import Editor from '../editor/editor.js';
import { QueryEngine } from '../editor/selector/selector.js';
import * as monaco from './monaco/editor.js';
import { TypeScriptMetaRenderer } from './monaco/api-renderer.js';
export declare class MonacoSourceEditor implements SourceEditor {
    editor: Editor;
    private _onDidCodeChange;
    private _onDidLayout;
    private _onDidSourceChange;
    domNode: HTMLElement;
    monacoEditor: monaco.editor.IStandaloneCodeEditor;
    private subscriptions;
    private creator?;
    private apiRenderer?;
    private models;
    constructor(editor: Editor);
    readonly onDidCodeChange: import("@kano/common/index.js").IEvent<string>;
    readonly onDidSourceChange: import("@kano/common/index.js").IEvent<any>;
    readonly onDidLayout: import("@kano/common/index.js").IEvent<void>;
    setToolbox(toolbox: any): void;
    setSource(source: string): void;
    getSource(): string;
    registerQueryHandlers(engine: QueryEngine): void;
    setInputDisabled(isInputDisabled: boolean): void;
    setFlyoutMode(flyoutMode: boolean): void;
    dispose(): void;
    getApiRenderer(): TypeScriptMetaRenderer;
}
