import type * as monacoTypes from 'monaco-editor'; export declare type LogQLVendor = 'sls' | 'cls' | 'tls' | 'lts' | 'bls'; export declare type LogQLSection = 'search' | 'analyze'; export declare type LogQLLanguage = 'zh_CN' | 'en_US'; export interface LogQLFieldCompletionContext { vendor: LogQLVendor; section: LogQLSection; fieldName?: string; prefix: string; } export interface VendorSearchBuiltinField { name: string; detail?: string; doc?: string; } export interface VendorSqlFunction { name: string; signature: string; doc?: string; } export interface VendorConfig { id: LogQLVendor; label: string; searchKeywords: string[]; searchBuiltinFields?: VendorSearchBuiltinField[]; sqlKeywords: string[]; sqlFunctions: VendorSqlFunction[]; fieldAssignOperators: string[]; } export interface LogQLEditorProps { vendor: LogQLVendor; className?: string; maxHeight?: number | string; fontSize?: number; size?: 'small' | 'middle' | 'large'; theme?: 'light' | 'dark'; value?: string; placeholder?: string; enableAutocomplete?: boolean; readOnly?: boolean; disabled?: boolean; /** Variable names (without `$`). Typing `$` triggers completion; selecting inserts `${name}`. */ variables?: string[]; /** Language used by built-in completion labels. Defaults to `zh_CN`. */ language?: LogQLLanguage; /** Enables locally persisted query history under this localStorage key. */ historyKey?: string; onChange?: (value: string) => void; onEnter?: (value: string) => void; onBlur?: (value: string) => void; onFocus?: (value: string) => void; editorDidMount?: (editor: monacoTypes.editor.IStandaloneCodeEditor) => void; fetchFieldNames?: (ctx: LogQLFieldCompletionContext) => Promise; fetchFieldValues?: (fieldName: string, ctx: LogQLFieldCompletionContext) => Promise; }