///
import { SourceEditor } from './source-editor.js';
import '../../elements/kc-blockly-editor/kc-blockly-editor.js';
import { Workspace, Block, Field } from '@kano/kwc-blockly/blockly.js';
import './blockly/patches/index.js';
import Editor from '../editor/editor.js';
import { QueryEngine } from '../editor/selector/selector.js';
import '../blockly/core/xml.js';
import BlocklyMetaRenderer from './blockly/api-renderer.js';
export declare class BlocklySourceEditor implements SourceEditor {
editor: Editor;
private _onDidCodeChange;
private _onDidSourceChange;
private _onDidLayout;
domNode: HTMLElement;
private apiRenderer?;
constructor(editor: Editor);
triggerLayout(): void;
readonly onDidCodeChange: import("@kano/common/index.js").IEvent;
readonly onDidLayout: import("@kano/common/index.js").IEvent;
readonly onDidSourceChange: import("@kano/common/index.js").IEvent;
setToolbox(toolbox: any): void;
setSource(source: string): void;
setFlyoutMode(flyoutMode: boolean): void;
setInputDisabled(isInputDisabled: boolean): void;
getSource(): any;
getWorkspace(): Workspace;
findBlockForSvgElement(el: HTMLElement): Block | null;
findFieldForSvgElementAndBlock(el: HTMLElement, block: Block): Field | undefined;
elementFromPoint(x: number, y: number): any;
blockFromPoint(x: number, y: number): Block | null;
logBlockUnderCursor(): void;
getToolbox(): any[];
getToolboxById(id: string): any;
getToolboxBlockByType(id: string, type: string): any;
registerQueryHandlers(engine: QueryEngine): void;
getInputPosition(block: Block, name?: string): ClientRect;
getBlockByType(workspace: Workspace, type: string): Block | undefined;
getApiRenderer(): BlocklyMetaRenderer;
}