///
import { IEvent } from '@kano/common/index.js';
import { QueryEngine } from '../editor/selector/selector.js';
import { Editor } from '../editor/editor.js';
import { IMetaRenderer } from '../meta-api/module.js';
export interface SourceEditor {
onDidCodeChange: IEvent;
onDidLayout: IEvent;
setFlyoutMode(flyoutMode: boolean): void;
setToolbox(toolbox: any): void;
setSource(source: string): void;
getSource(): string;
domNode: HTMLElement;
registerQueryHandlers(engine: QueryEngine): void;
getApiRenderer(): IMetaRenderer;
editor: Editor;
}
interface SourceEditorConstructor {
new (...args: any[]): SourceEditor;
}
export declare function registerSourceEditor(id: string, sourceEditorClass: SourceEditorConstructor): import("@kano/common/index.js").IDisposable;
export declare function getSourceEditor(id: string): SourceEditorConstructor | undefined;
export {};