///
import 'monaco-editor/esm/vs/editor/contrib/hover/browser/hover';
import { ICompleteItem, ISchemaValue } from './constants';
import { ELanguage } from '../../constants';
import { ELocale } from '../../language/type';
import './monacoRegister';
export interface IErrorMarker {
Code: string;
Message: string;
startLineNumber: number;
startColumn: number;
endLineNumber: number;
endColumn: number;
}
export interface ISearchEditorAttr {
value?: string;
onChange?: (queryString: string) => void;
disabled?: boolean;
onPressEnter?: () => void;
editorOptions?: IKeyValues;
autoCompletes?: ICompleteItem[];
schemaValues?: IKeyValues;
onBlur?: () => void;
searchVersion?: ELanguage;
getFieldValue?: (spl: string, field: string) => Promise;
}
export declare class SearchEditor {
private dom;
private _store?;
private value;
private locale;
private autoCompletes;
private schemaValues;
private instanceId;
private focusContextKey?;
private onChange?;
private onPressEnter?;
private onBlur?;
handleWindowResize: import("lodash").DebouncedFunc<() => void>;
private get store();
pasteText(text: string): void;
copyText(): void;
cutText(): void;
private baseHandleWindowResize;
private handleChange;
private replaceAllText;
private handleInputPipChar;
private handleInputEnterChar;
private handleInputAltEnterChar;
private handleInputAltDeleteChar;
private handleFormatSpl;
/**
* 快捷键注释功能;ctrl + / 或 command + / 切换选择区域注释情况
* 1,获取当前SPL和所选区域
* 2,判断所选区域内有无注释
* 3,给每行添加或减去注释后设置新SPL
* 4,重置鼠标位置
*/
private handleCommentSpl;
private handleEditorValueChange;
private init;
updateValue(value: string): void;
update(attr: ISearchEditorAttr): void;
handleChangeLocale(locale: ELocale): void;
constructor(dom: HTMLDivElement | null, attr: ISearchEditorAttr, locale?: ELocale);
}