﻿/**
* DevExpress HTML/JS Reporting (viewer\widgets\dateRange\dateRangeEditor.d.ts)
* Version:  26.1.3
* Build date: Jun 16, 2026
* Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED
* License: https://www.devexpress.com/Support/EULAs/universal.xml
*/
import { IJQueryWrapper } from '@devexpress/analytics-core/analytics-internal-native';
import { DateRangeDialogElementsKeyboardHelper, TimeRangeDialogElementsKeyboardHelper } from '../../accessibility/_dateRangeKeyboardHelper';
import { ArrayPropertyChangedEventArgs, BaseRenderingModel, PropertyChangedEventArgs } from '@devexpress/analytics-core/analytics-serializer-native';
import { IDateRangeEditorViewModel } from './dateRangeEditor.viewmodel';
import { IDateRangeEditorItem } from './dateRangeEditor.ranges';
import { Editor, IEditorViewModel } from '@devexpress/analytics-core/analytics-widgets-native';
export interface IDateRangeEditorOptions {
    value: Date[];
    disabled: boolean;
    visible: boolean;
    onValueChanged: (e: {
        value: Date[];
    }) => void;
    isMobile?: boolean;
    displayName?: string;
    info?: any;
}
type IKoDateRangeEditorOptions = {
    value: ko.Observable<IDateRangeEditorOptions['value']>;
    type?: string;
    isMobile?: boolean;
};
export declare function createDateRangeEditor(_options: IKoDateRangeEditorOptions | IDateRangeEditorOptions, element?: Node, model?: Editor | IEditorViewModel): DateRangeEditor;
export declare class DateRangeEditor extends BaseRenderingModel<IDateRangeEditorViewModel> {
    private _options;
    private _locker;
    createViewModel(): IDateRangeEditorViewModel;
    private _getStringValue;
    _showPopup: () => void;
    _hidePopup: () => void;
    getElement(): Element | undefined;
    _$element: IJQueryWrapper;
    _editorInputId: string;
    _displayName: string;
    _isSelected(item: IDateRangeEditorItem): boolean;
    onPropertyChanged(args: PropertyChangedEventArgs<DateRangeEditor> | ArrayPropertyChangedEventArgs<DateRangeEditor>): void;
    deferredUpdateViewModel(): boolean;
    updateViewModel(args: PropertyChangedEventArgs<DateRangeEditor> | ArrayPropertyChangedEventArgs<DateRangeEditor>): void;
    constructor(_options: IDateRangeEditorOptions, editorInputId?: string, type?: string, visibilityChangedCallback?: (newValue: boolean) => void);
    private _toParameterValue;
    get isTimeOnlyType(): boolean;
    applyDate(range: Date[], force?: boolean): void;
    inRange(date: Date): boolean;
    applyValue(updateEndDate?: boolean): void;
    popupTemplate: any;
    startDate: Date;
    endDate: Date;
    _popupVisible: boolean;
    _displayText: string;
    disabled: boolean;
    visible: boolean;
    popupModel: any;
    items: any[];
    type: string;
    calendarHeight: string;
    dialogKeyboardHelper: DateRangeDialogElementsKeyboardHelper | TimeRangeDialogElementsKeyboardHelper;
    _visibilityChangedCallback: (newValue: boolean) => void;
}
export {};
