///
import { LanguageStatus, IIndexKey, SLSLanguageMode, CompletionItem, IEntityFilterProp } from '@aliyun-sls/lsp-core';
import React$1 from 'react';
interface IEditorProps {
idName?: string;
project: string;
logstore: string;
startTime: number;
endTime: number;
onConfirm: (v: string, action?: string) => void;
onScanModeChange?: (v: boolean) => void;
onChangeLanguage?: (v: LanguageStatus) => void;
onBlur?: any;
historyFlag?: string;
queryString?: string;
errorPostion?: {
line: number;
position: number;
isDiagnosisInfo: boolean;
} | undefined;
indexMap?: Record;
additionalIndex?: Record;
metricsMap?: Record;
easyFetch?: any;
regionId?: string;
clusterId?: string;
obsEasyFetch?: any;
addRUMLog?: any;
getHelpDocLink?: (str: string) => string;
logstoreList?: string[];
readonly?: boolean;
defaultLineNumber?: number;
minLineNumber?: number;
maxLineNumber?: number;
mode?: 'tooltip' | 'toggle';
languageMode: SLSLanguageMode;
hiddenGrammarHelp?: boolean;
sealReservedField?: boolean;
hiddenPreviewPanel?: boolean;
enableSplDebug?: boolean;
debugToolStyle?: React.CSSProperties;
previewSample?: string;
onPreviewQuery?: (v: string) => void;
onContentChange?: (v: string) => void;
noDefaultConfirm?: boolean;
onlyFormatOption?: boolean;
enableCopilot?: boolean;
enableNewCopilot?: boolean;
copilotPresets?: IPresetQustion[];
autoGetIndex?: boolean;
getValueCandidatesFunc?: (keyName: string, keyType: 'text' | 'json' | 'long' | 'double', prefix: string) => Promise;
enableExplain?: boolean;
disableErrorDiagnostic?: boolean;
maxSuggestionNum?: number;
}
interface IPresetQustion {
summary: string;
sql?: string;
scene?: 'condition' | 'agg' | 'group' | 'order';
}
interface IEditorRef {
getValue: () => string;
setValue: (value: string) => void;
setReadonly: (value: boolean) => void;
getFocused?: () => boolean;
setShowQuery?: (value: boolean) => void;
}
interface FilterProps {
keyName: string;
type?: string;
category?: string;
op?: string;
opCandidates?: string[];
value?: string | string[];
valueCandidates?: string[];
description?: string;
hasNot?: boolean;
disabled?: boolean;
noValueCandidates?: boolean;
specialType?: string;
}
interface IConstantFilter {
keyName: string;
op: string;
value: string | string[];
explaination: string;
}
interface ITraceEditProps {
idName?: string;
project: string;
logstore: string;
startTime: number;
endTime: number;
onConfirm: (v: string) => void;
onBlur?: any;
queryString?: string;
easyFetch?: any;
addRUMLog?: any;
getHelpDocLink?: (str: string) => string;
readonly?: boolean;
defaultLineNumber?: number;
minLineNumber?: number;
maxLineNumber?: number;
languageMode: SLSLanguageMode;
hiddenGrammarHelp?: boolean;
sealReservedField?: boolean;
jsonStencil?: Record;
constantFilters?: IConstantFilter[];
indexMap?: Record;
getCandidatesFunc?: (keyName: string) => Promise;
onQueryChangedByAction?: (val: string) => void;
onFuzzyChanged?: (val: boolean) => void;
categoryTitles?: Record;
hiddenOtherFilters?: boolean;
}
interface IEntityEditorProps {
idName?: string;
workspace: string;
startTime: number;
endTime: number;
onFilterUpdated?: (filters: IEntityFilterProp[]) => void;
onConfirm: (v: string) => void;
onContentChange?: (v: string) => void;
onBlur?: any;
queryString?: string;
easyFetch?: any;
obsEasyFetch?: any;
addRUMLog?: any;
getHelpDocLink?: (str: string) => string;
readonly?: boolean;
defaultLineNumber?: number;
minLineNumber?: number;
maxLineNumber?: number;
languageMode: SLSLanguageMode;
getCandidatesFunc?: (keyName: string) => Promise;
presetFilters?: IEntityFilterProp[];
editable?: boolean;
containerStyle?: React.CSSProperties;
monacoStyle?: React.CSSProperties;
}
interface IPlainEditorProps {
onConfirm?: (v: string) => void;
onContentChange?: (v: string) => void;
onBlur?: any;
queryString?: string;
addRUMLog?: any;
readonly?: boolean;
defaultLineNumber?: number;
minLineNumber?: number;
maxLineNumber?: number;
languageMode: SLSLanguageMode;
}
declare const SlsEditor: React$1.ForwardRefExoticComponent>;
declare const TraceEditor: React$1.ForwardRefExoticComponent>;
declare const EntityEditor: React$1.ForwardRefExoticComponent>;
declare const PlainEditor: React$1.ForwardRefExoticComponent>;
interface SelectDataSourceItem {
label: string;
value: string;
disabled?: boolean;
}
interface EasySelectLintProps {
dataSource?: SelectDataSourceItem[] | string[];
id?: string;
value?: string[] | string;
disabled?: boolean;
style?: React$1.CSSProperties;
onChange?: (value?: any) => void;
/**
* 支持搜索, 默认为 false
*/
showSearch?: boolean;
autoComplete?: boolean;
placeHolder?: string;
/**
* 数据源默认显示条数, 默认为6条
*/
defaultCount?: number;
freeInput?: boolean;
}
declare function getFiltersFromIndexQuery(input: string): FilterProps[] | null;
declare const findDomainAndType: (filterLis: IEntityFilterProp[]) => {
domain: string[];
type: string[];
};
export { EasySelectLintProps, EntityEditor, IEditorProps, IEditorRef, IEntityEditorProps, PlainEditor, SlsEditor, TraceEditor, findDomainAndType, getFiltersFromIndexQuery };