import { Moment } from "moment/moment";
import { ElementFinder } from "protractor";
import { Atom } from "../../atom";
import { OverlayAtom } from "../overlay/overlay.atom";
import { TextboxAtom } from "../textbox/textbox.atom";
export declare class DatepickerAtom extends Atom {
    static EXPECTED_FORMAT: string;
    static CSS_CLASS: string;
    static MONTHNAMES_SHORT: string[];
    static MONTHNAMES_LONG: string[];
    overlay: OverlayAtom;
    textbox: TextboxAtom;
    selectDate: (day: number) => Promise<void>;
    selectMonth: (month: string) => Promise<void>;
    selectYear: (year: number) => Promise<void>;
    getInput: () => ElementFinder;
    isDisabled: () => Promise<boolean>;
    getTextbox(): ElementFinder;
    formatDate(date: Moment, localeDateStringFormat: string): string;
    getInputValue: () => Promise<string>;
    acceptText: (text: string) => Promise<void>;
    clearText: () => Promise<void>;
    getMonthElement: (month: string, index?: number | undefined) => ElementFinder;
    getPopup: () => ElementFinder;
    getYearElement: (year: string, index?: number | undefined) => ElementFinder;
    deleteTextManually: () => Promise<void>;
    /**
     * Gets title which will be after current title is clicked.
     * For example, when daypicker mode is enabled then it gets title of monthpicker.
     * In monthpicker mode gets title of yearpicker.
     * @returns {Promise<string>}
     */
    getLargerPeriodTitle(): Promise<string>;
    clickTitle(): Promise<void>;
    clickTodayButton: () => Promise<void>;
    /** @deprecated As of Nova v11, use 'toggle' method instead. Removal: NUI-5865 */
    clickCalendarIcon: () => Promise<void>;
    toggle: () => Promise<void>;
    clickChangeModeButton: () => Promise<void>;
    clickFirstCalendarDate: () => Promise<void>;
    isInputValid: () => Promise<boolean>;
    getActiveDay: () => ElementFinder;
    getActiveDayText: () => Promise<string>;
    getTitleText(): Promise<string>;
    goNext(): Promise<void>;
    goBack(): Promise<void>;
    clickInput: () => Promise<void>;
    isTodayButtonEnabled: () => Promise<boolean>;
    getMonthFromTitle: () => Promise<string>;
    getPreviousMonthTitle(currentMonth: string, format?: string): string;
    getNextMonthTitle(currentMonth: string, format?: string): string;
    private clickCalendarItem;
    private selectButton;
    private selectDayButtonByIndex;
    private getElementByCss;
    private getElementText;
}
