﻿/**
* DevExpress HTML/JS Reporting (viewer\widgets\dateRange\dateRangeEditor.d.ts)
* Version:  24.2.8
* Build date: Jun 17, 2025
* Copyright (c) 2012 - 2025 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 } 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;
}
type IKoDateRangeEditorOptions = {
    value: ko.Observable<IDateRangeEditorOptions['value']>;
    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, visibilityChangedCallback?: (newValue: boolean) => void);
    private _toParameterValue;
    applyDate(range: Date[], force?: boolean): void;
    inRange(date: Date): boolean;
    applyValue(updateEndDate?: boolean): void;
    popupTemplate: string;
    startDate: Date;
    endDate: Date;
    _popupVisible: boolean;
    _displayText: string;
    disabled: boolean;
    visible: boolean;
    popupModel: any;
    items: any[];
    calendarHeight: string;
    dialogKeyboardHelper: DateRangeDialogElementsKeyboardHelper;
    _visibilityChangedCallback: (newValue: boolean) => void;
}
export {};
