import { Properties as dxButtonGroupOptions } from 'devextreme/ui/button_group'; import dxDataGrid, { Properties as dxDataGridOptions } from 'devextreme/ui/data_grid'; import * as ko from 'knockout'; import { DisposableType } from '../../model'; import { FormatConditionRangeBase } from '../../model/format-rules/conditions/range/format-condition-range-base'; import { RangeInfo } from '../../model/format-rules/conditions/range/range-info'; import { AppearanceSettings } from '../../model/format-rules/style-settings/appearance-settings'; import { StyleSettingsBase } from '../../model/format-rules/style-settings/style-settings-base'; import { StyleSettingsEditorMode, StyleSettingsEditorOptions } from './_style-settings-editor'; import { StyleSettingsEditorItemArgs } from './_style-settings-editor-item'; export interface IRange { style: ko.Observable; sign: ko.Observable; leftValue: ko.Observable; rightValue: ko.Computed; rangeInfo: RangeInfo; } export interface RuleRangesEditorOptions { appearanceMode: StyleSettingsEditorMode; condition: FormatConditionRangeBase; enableCustomStyles?: boolean; restrictToColor?: boolean; } export type DataGridColumnTypes = 'string' | 'date' | 'boolean' | 'number' | 'object' | 'datetime'; export declare class RuleRangesEditor { condition: FormatConditionRangeBase; dataType: ko.Observable; isPercent: ko.Computed; selection: ko.Observable; value: ko.ObservableArray; enableCustomStyles: boolean; appearanceMode: StyleSettingsEditorMode; isGradient: boolean; restrictToColor?: boolean; disposables: Array; popoverOffset: string; private static patchValueToMatchSerializedType; constructor(options: RuleRangesEditorOptions); updateRangeValues(isPercent: boolean): void; isRangeEmptyAllowed(range: IRange): boolean; closeEditCell: () => void; private _closeEditCell; createStyleSettingsEditorOptions(range: IRange): StyleSettingsEditorOptions; createStyleSettingsEditorItemOptions(range: IRange): StyleSettingsEditorItemArgs; createRangeNumberEditorViewModel(args: { value: ko.Observable; rowIndex: number; grid: dxDataGrid; isRightValue: boolean; setValue: (value: number | string) => void; }): { editorType: 'numberBox' | 'dateBox'; negativeInfinityDisplayText: string; allowInfinity: boolean; infinitValue: ko.Observable; editorOptions: { onValueChanged: (e: any) => void; format: string; value: any; }; buttonOptions: dxButtonGroupOptions; }; get dataGridOptions(): dxDataGridOptions; add(): void; remove(): void; getSelectedStyleChangedHandler(range: IRange): (oldStyle: AppearanceSettings, newStyle: AppearanceSettings) => void; private _updateValue; dispose(): void; }