/**
 * @license
 * Copyright Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { ICalendarDropdownPopupConfig } from '../calendar/calendar-dropdown';
import { IDateInputMaskOptions } from '../core';
import { BaseDatePickerAdapter, IBaseDatePickerAdapter } from '../date-picker/base/base-date-picker-adapter';
import { IDatePickerCalendarDropdownConfig } from '../date-picker/base/base-date-picker-constants';
import { DateRangePickerComponent, IDateRangePickerComponent } from './date-range-picker';
export interface IDateRangePickerAdapter extends IBaseDatePickerAdapter {
    initializeToMask(toOptions: IDateInputMaskOptions): void;
    addToInputListener(type: string, listener: (event: Event) => void): void;
    removeToInputListener(type: string, listener: (event: Event) => void): void;
    setToInputValueChangedListener(context: any, listener: (value: any) => void): void;
    getToInputValue(): string;
    setToInputValue(value: string, emitEvents: boolean): void;
    emitInputEvent(type: string, data?: any): void;
    emitToInputEvent(type: string, data?: any): void;
    tryFocusInput(): void;
    tryBlurInput(): void;
    selectToInputText(): void;
    destroyToMask(): void;
}
export declare class DateRangePickerAdapter extends BaseDatePickerAdapter<IDateRangePickerComponent> implements IDateRangePickerAdapter {
    private _fromInputElement;
    private _toInputElement;
    private _toInputMask;
    private _fromInputMask;
    private _dropdownIdentifier;
    private _toValueChangeListener;
    constructor(component: DateRangePickerComponent);
    protected _initializeInput(): void;
    protected _initializeCalendarDropdown(): void;
    initializeMask(fromOptions: IDateInputMaskOptions): void;
    destroyMask(): void;
    initializeToMask(toOptions: IDateInputMaskOptions): void;
    destroyToMask(): void;
    destroy(): void;
    private _destroyToValueChangeListener;
    initializeAccessibility(): void;
    addInputListener(type: string, listener: (event: Event) => void, capture?: boolean): void;
    addToInputListener(type: string, listener: (event: Event) => void, capture?: boolean): void;
    removeInputListener(type: string, listener: (event: Event) => void): void;
    removeToInputListener(type: string, listener: (event: Event) => void): void;
    setInputValueChangedListener(context: any, listener: (value: any) => void): void;
    setToInputValueChangedListener(context: any, listener: (value: any) => void): void;
    hasInputElement(): boolean;
    attachCalendar(calendarConfig: IDatePickerCalendarDropdownConfig<Date | null>, dropdownConfig?: ICalendarDropdownPopupConfig): void;
    detachCalendar(): void;
    setActiveDescendant(id: string): void;
    setInputValue(value: string, emitEvents: boolean): void;
    setToInputValue(value: string, emitEvents: boolean): void;
    isInputDisabled(): boolean;
    isInputFocused(target?: EventTarget | null): boolean;
    getInputValue(): string;
    getToInputValue(): string;
    setDisabled(isDisabled: boolean): void;
    emitInputEvent(type: string, data?: any): void;
    emitToInputEvent(type: string, data?: any): void;
    protected _createToggleElement(): HTMLElement;
    tryFocusInput(): void;
    tryBlurInput(): void;
    selectInputText(): void;
    selectToInputText(): void;
    private _applyToInputs;
    private _createInputSeparator;
}
