import "../combobox/ComboBox";
import "../input/Input";
import { LitElement, PropertyValues } from "lit";
import { DateTime } from "luxon";
import { TIME_UNIT } from "../../constants";
export declare const timeUnits: readonly [TIME_UNIT.HOUR, TIME_UNIT.MINUTE, TIME_UNIT.SECOND, TIME_UNIT.AM_PM];
export declare const timeSpecificity: TIME_UNIT[];
export declare namespace TimePicker {
    type TimeUnit = (typeof timeUnits)[number];
    type TimeSpecificity = (typeof timeSpecificity)[number];
    class ELEMENT extends LitElement {
        twoDigitAutoTab: boolean;
        twentyFourHourFormat: boolean;
        timeSpecificity: TimePicker.TimeSpecificity;
        locale: string;
        value: string | null;
        showDefaultNowTime: boolean;
        private finalTwentyFourFormat;
        private timeObject;
        private tabNext;
        private timeValue;
        private timeValidity;
        get timePickerClassMap(): {
            "twenty-four-hour-format": boolean;
        };
        connectedCallback(): void;
        protected updated(changedProperties: PropertyValues): void;
        private initializeTimeValues;
        private updateValue;
        addLeadingZeros: (value: string | undefined) => string | undefined;
        formatAndValidate: (timeUnitString: string | undefined, unit: TIME_UNIT) => string | undefined;
        getLocaleTimeFormat: (aTimeObject: DateTime) => boolean;
        updateTimeValues: () => void;
        updateValidity: (input: string, unit: TimePicker.TimeUnit) => void;
        to12HourFormat: (amPm: string, hour: string) => number | undefined;
        isEntireTimeValid: () => boolean;
        updateTimeUnit: (unit: TIME_UNIT) => void;
        private dispatchTimeChangeEvent;
        handleTimeChange(event: CustomEvent, unit: TimePicker.TimeUnit): void;
        handleTimeKeyDown(event: CustomEvent, unit: TimePicker.TimeUnit): void;
        handleTimeBlur(event: CustomEvent, unit: TimePicker.TimeUnit): void;
        static get styles(): import("lit").CSSResult[];
        formatTimeUnit: (unit: TimePicker.TimeUnit) => void;
        messageType: (isValid: boolean) => "" | "error";
        generateTimeBox: (unit: TimePicker.TimeUnit) => import("lit-html").TemplateResult<1>;
        generateAmPmComboBox: () => import("lit-html").TemplateResult<1>;
        render(): import("lit-html").TemplateResult<1>;
    }
}
declare global {
    interface HTMLElementTagNameMap {
        "md-timepicker": TimePicker.ELEMENT;
    }
}
