/** * DevExpress Analytics (widgets\expressioneditor\expressioneditor.d.ts) * Version: 25.2.7 * Build date: May 5, 2026 * Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED * License: https://www.devexpress.com/Support/EULAs/universal.xml */ import * as ko from 'knockout'; import { Editor } from '../../property-grid/widgets/editor'; import { IDisplayNameProvider } from '../common/displayNameProvider'; import { CodeCompletor, ICompletionRootItem } from '../common/_codeCompletor'; import { DisplayExpressionConverter } from '../common/_displayNameProvider'; import { CriteriaOperator } from '../criteria/operators/criteriaOperator'; import { ResizeHelper } from '../internal/_resizeHelper'; import { IItemsProvider } from '../utils'; import { getParentContainer } from '../_utils'; import { IExpressionEditorFunction } from './tools/_functions'; import { Tools } from './tools/_tools'; import { ExpressionEditorParametersTreeListController } from './tools/_treeListControllers'; import { CriteriaEditorBase, ICriteriaEditorContext } from '../../core/widgets/_criteriaPopupEditorBase'; import { MultiPlatformComputed, MultiPlatformObservable } from '../../serializer/native/multiplatformEngine'; export interface IExpressionOptions { value: ko.Observable | ko.Computed; path?: ko.Observable | ko.Computed; fieldName?: ko.Observable | ko.Computed; theme?: string; patchFieldName?: (fieldName: string) => string; functions?: Array; rootItems?: Array; customizeCategories?: (sender: any, categories: any, dblclick?: any) => void; customizeContext?: (context: ICriteriaEditorContext) => void; validate?: (criteria: CriteriaOperator) => boolean; isValid?: ko.Observable | ko.Computed; warningMessage?: ko.Observable | ko.Computed; onHiding?: (e: any) => void; onShowing?: (e: any) => void; onContentReady?: (e: any) => void; } export declare function getNotValidRange(value: string, errorMessage: string): { start: number; end: number; }; export declare class ExpressionEditor extends CriteriaEditorBase { private options; private _displayNameProvider?; popupVisible: ko.Observable; dispose(): void; private _getTextArea; private _updateTextAreaValue; private _updateAceValue; private _updateValue; private patchFieldName; private _parametersPutSelectionHandler; private _fieldsPutSelectionHandler; private _createToolsOptions; private _parametersCustomFilter; constructor(options: IExpressionOptions, fieldListProvider: ko.Observable | ko.Computed, disabled?: MultiPlatformComputed | MultiPlatformObservable, rtl?: boolean, _displayNameProvider?: IDisplayNameProvider, popupVisible?: ko.Observable, editorInputId?: string); displayExpressionConverter: DisplayExpressionConverter; tools: Tools; displayValue: ko.Observable | ko.Computed; title: () => string; value: ko.Observable | ko.Computed; textAreaValue: ko.Observable; theme: string; languageHelper: { getLanguageMode: () => string; createCompleters: (editor: Editor, bindingContext: ko.BindingContext, viewModel: ExpressionEditor) => CodeCompletor[]; }; aceOptions: { showLineNumbers: boolean; showPrintMargin: boolean; enableBasicAutocompletion: boolean; enableLiveAutocompletion: boolean; showFoldWidgets: boolean; highlightActiveLine: boolean; }; additionalOptions: { onChange: (session: { clearAnnotations: () => void; getValue: () => string; setAnnotations: (any: any) => void; }) => void; }; callbacks: { focus: () => any; }; resizeHelper: ResizeHelper; koOptions: ko.Observable | ko.Computed; editorInputId: string; fieldListProvider: ko.Observable | ko.Computed; parametersTreeListController: ExpressionEditorParametersTreeListController; save: (sender: any) => void; isValid: ko.Observable | ko.Computed; rtl: boolean; modelValueValid: ko.Computed; modelValueWarning: ko.Computed; disabled: MultiPlatformObservable | MultiPlatformComputed; onShown(): void; onHiding(e: { component: any; element: HTMLElement; }): void; onShowing(e: { component: any; element: HTMLElement; }): void; onContentReady(e: { component: any; element: HTMLElement; }): void; initDisplayValue(): void; getValue(): string; setCriteriaValue(value: string): void; getEditorContext(): ICriteriaEditorContext; validate: (value: any, sender?: any) => boolean; getPopupContainer: typeof getParentContainer; showAISparkle: ko.Observable; }