/**
 * @license
 * Copyright 2023 Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { IPopupComponent } from '../../popup';
import { ICalendarComponent } from '../calendar';
export interface ICalendarDropdown {
    calendar: ICalendarComponent | undefined;
    dropdownElement: IPopupComponent | undefined;
    id: string;
    targetElement: HTMLElement;
    popupClasses: string | string[] | null;
    locale: string | undefined;
    isOpen: boolean;
    activeChangeCallback: ((id: string) => void) | undefined;
    closeCallback: (() => void) | undefined;
    open(config: Partial<ICalendarComponent>): void;
    close(): void;
    destroy(): void;
    propagateKeyboardEvent(evt: KeyboardEvent): void;
}
export declare class CalendarDropdown implements ICalendarDropdown {
    calendar: ICalendarComponent | undefined;
    dropdownElement: IPopupComponent | undefined;
    id: string;
    targetElement: HTMLElement;
    activeChangeCallback: ((id: string) => void) | undefined;
    closeCallback: (() => void) | undefined;
    private _announcerElement;
    private _popupClasses;
    get isOpen(): boolean;
    get popupClasses(): string | string[] | null;
    set popupClasses(value: string | string[] | null);
    get locale(): string | undefined;
    set locale(value: string | undefined);
    constructor(targetElement: HTMLElement, id: string);
    close(): void;
    destroy(): void;
    open(config: Partial<ICalendarComponent>): void;
    propagateKeyboardEvent(evt: KeyboardEvent): void;
    private _createCalendar;
    private _createDropdown;
}
