import { BindingEventService } from '@slickgrid-universal/binding'; import { SlickEventHandler, type SlickGrid } from '../core/index.js'; import type { Column, ColumnEditor, ColumnEditorDualInput, CompositeEditorOption, DOMEvent, Editor, EditorArguments, EditorValidationResult, EditorValidator, GridOption, ValidateOption } from '../interfaces/index.js'; export declare class DualInputEditor implements Editor { protected readonly args: EditorArguments; protected _bindEventService: BindingEventService; protected _eventHandler: SlickEventHandler; protected _isInternalFocusInProgress: boolean; protected _isValueSaveCalled: boolean; protected _lastEventType: string | undefined; protected _lastInputKeyEvent?: KeyboardEvent; protected _leftInput: HTMLInputElement; protected _isLeftValueTouched: boolean; protected _isRightValueTouched: boolean; protected _rightInput: HTMLInputElement; protected _leftFieldName: string; protected _rightFieldName: string; protected _originalLeftValue: string | number; protected _originalRightValue: string | number; protected _timer?: any; /** is the Editor disabled? */ disabled: boolean; /** SlickGrid Grid object */ grid: SlickGrid; /** Grid options */ gridOptions: GridOption; constructor(args: EditorArguments); /** Get Column Definition object */ get columnDef(): Column; /** Get Column Editor object */ get columnEditor(): ColumnEditor; /** Getter for the item data context object */ get dataContext(): any; /** Getter for the Editor DOM Element */ get editorDomElement(): { leftInput: HTMLInputElement; rightInput: HTMLInputElement; }; get editorParams(): ColumnEditorDualInput; get eventHandler(): SlickEventHandler; get hasAutoCommitEdit(): boolean; get isValueSaveCalled(): boolean; /** Get the Shared Validator function, can be passed in Editor property or Column Definition */ get validator(): EditorValidator | undefined; init(): void; handleFocusOut(event: DOMEvent, position: 'leftInput' | 'rightInput'): void; handleKeyDown(event: KeyboardEvent, position: 'leftInput' | 'rightInput'): void; destroy(): void; createInput(position: 'leftInput' | 'rightInput'): HTMLInputElement; disable(isDisabled?: boolean): void; focus(): void; show(): void; getValues(): { [fieldName: string]: string | number; }; setValues(values: Array): void; applyValue(item: any, state: any): void; applyValueByPosition(item: any, state: any, position: 'leftInput' | 'rightInput'): void; isValueChanged(): boolean; isValueTouched(): boolean; loadValue(item: any): void; loadValueByPosition(item: any, position: 'leftInput' | 'rightInput'): void; /** * You can reset or clear the input value, * when no value is provided it will use the original value to reset (could be useful with Composite Editor Modal with edit/clone) */ reset(value?: number | string, triggerCompositeEventWhenExist?: boolean, clearByDisableCommand?: boolean): void; save(): void; serializeValue(): { [fieldName: string]: any; }; serializeValueByPosition(position: 'leftInput' | 'rightInput'): string | number; getDecimalPlaces(position: 'leftInput' | 'rightInput'): number; getInputDecimalSteps(position: 'leftInput' | 'rightInput'): string; validate(_targetElm?: HTMLElement | null, options?: ValidateOption & { position?: 'leftInput' | 'rightInput'; }): EditorValidationResult; validateByPosition(position: 'leftInput' | 'rightInput', inputValue?: any): EditorValidationResult; /** when it's a Composite Editor, we'll check if the Editor is editable (by checking onBeforeEditCell) and if not Editable we'll disable the Editor */ protected applyInputUsabilityState(): void; protected handleChangeOnCompositeEditor(event: Event | null, compositeEditorOptions: CompositeEditorOption, triggeredBy?: 'user' | 'system', isCalledByClearValue?: boolean): void; protected handleChangeOnCompositeEditorDebounce(event: KeyboardEvent): void; } //# sourceMappingURL=dualInputEditor.d.ts.map