/**
 * @license
 * Copyright Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { ICustomElement } from '@tylertech/forge-core';
import { CalendarDirection, CalendarMenuAnimationType, ICalendarMenuOption } from './calendar-menu-constants';
export interface ICalendarMenuComponent extends ICustomElement {
    animationType: CalendarMenuAnimationType;
    preventFocus: boolean;
    animateIn(options: ICalendarMenuOption[], direction: CalendarDirection, setFocus?: boolean): void;
    close(): void;
    moveFocusBackward(): boolean;
    moveFocusDown(): void;
    moveFocusForward(): boolean;
    moveFocusUp(): void;
    openAsGrid(options: ICalendarMenuOption[], setFocus?: boolean): void;
    openAsList(options: ICalendarMenuOption[], setFocus?: boolean): void;
    selectFocusedItem(): void;
}
declare global {
    interface HTMLElementTagNameMap {
        'forge-calendar-menu': ICalendarMenuComponent;
    }
    interface HTMLElementEventMap {
        'forge-calendar-menu-focus-change': CustomEvent<number>;
        'forge-calendar-menu-select': CustomEvent<number>;
    }
}
/**
 * The web component class behind the `<forge-calendar-menu>` custom element.
 *
 * @internal
 * @tag forge-calendar-menu
 */
export declare class CalendarMenuComponent extends HTMLElement implements ICalendarMenuComponent {
    static get observedAttributes(): string[];
    private _foundation;
    constructor();
    connectedCallback(): void;
    disconnectedCallback(): void;
    attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
    animationType: CalendarMenuAnimationType;
    preventFocus: boolean;
    animateIn(options: ICalendarMenuOption[], direction: CalendarDirection, setFocus?: boolean): void;
    close(): void;
    moveFocusDown(): void;
    moveFocusBackward(): boolean;
    moveFocusForward(): boolean;
    moveFocusUp(): void;
    openAsGrid(options: ICalendarMenuOption[], setFocus?: boolean): void;
    openAsList(options: ICalendarMenuOption[], setFocus?: boolean): void;
    selectFocusedItem(): void;
}
