/**
 * @license
 * Copyright 2023 Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { FormFieldComponentDelegate, IFormFieldComponentDelegateOptions, IBaseComponentDelegateConfig } from '../core/delegates';
import { FieldDensityType } from '../field/field-constants';
import { ITextFieldComponent } from '../text-field';
import { IDateRangePickerComponent } from './date-range-picker';
import { IDateRangePickerChangeEventData } from './date-range-picker-constants';
export declare type DateRangePickerComponentDelegateProps = Partial<IDateRangePickerComponent>;
export interface IDateRangePickerComponentDelegateOptions extends IFormFieldComponentDelegateOptions {
    useDropdownIcon?: boolean;
    fromPlaceholder?: string;
    toPlaceholder?: string;
    label?: string;
    required?: boolean;
    density?: FieldDensityType;
}
export interface IDateRangePickerComponentDelegateConfig extends IBaseComponentDelegateConfig<IDateRangePickerComponent, IDateRangePickerComponentDelegateOptions> {
}
export declare class DateRangeComponentDelegate extends FormFieldComponentDelegate<IDateRangePickerComponent, IDateRangePickerComponentDelegateOptions> {
    private _textField;
    private _fromInput;
    private _toInput;
    constructor(config?: IDateRangePickerComponentDelegateConfig);
    protected _build(): IDateRangePickerComponent;
    get fromInput(): HTMLInputElement;
    get toInput(): HTMLInputElement;
    get textField(): ITextFieldComponent;
    get value(): any;
    set value(value: any);
    get disabled(): boolean;
    set disabled(value: boolean);
    get invalid(): boolean;
    set invalid(value: boolean);
    onChange(listener: (value: IDateRangePickerChangeEventData) => void): void;
    onFocus(listener: (evt: FocusEvent) => void): void;
    onBlur(listener: (evt: FocusEvent) => void): void;
    private _attachTextField;
}
