import { PluginObject } from 'vue';
import { ModulVue } from '../../utils/vue/vue';
import { InternalCleaveOptions, MInputMask } from '../input-mask/input-mask';
export interface TimeObject {
    hour: number;
    minute: number;
    seconde?: number;
}
export declare class MTimepicker extends ModulVue {
    readonly value: string;
    readonly min: string;
    readonly max: string;
    readonly step: number;
    readonly maxWidth: string;
    readonly hideInternalErrorMessage: boolean;
    readonly skipInputValidation: boolean;
    readonly id: string;
    readonly validationMessageId: string;
    open: boolean;
    $refs: {
        input: MInputMask;
        hours: HTMLElement;
        minutes: HTMLElement;
    };
    i18nButton: string;
    i18nPlaceHolder: string;
    i18nOutOfBoundsError: string;
    private hours;
    private minutes;
    private internalTime;
    private internalHour;
    private internalMinute;
    private internalFilteredMinutes;
    private internalFilteredHours;
    private isMousedown;
    private scrollTimeout;
    private internalTimeErrorMessage;
    get currentTime(): string;
    set currentTime(value: string);
    get currentHour(): number;
    get currentMinute(): number;
    get currentfilteredHours(): number[];
    get currentFilteredMinutes(): number[];
    get currentStep(): number;
    get timeError(): boolean;
    get isFocus(): boolean;
    private get timeErrorMessage();
    get inputMaskOptions(): InternalCleaveOptions;
    emitChange(_time: string): void;
    emitClick(_event: Event): void;
    emitOpen(): void;
    emitClose(): void;
    updateInternalTime(value: string): void;
    togglePopup(event: Event): void;
    onClick(event: MouseEvent): void;
    onScroll(event: Event): void;
    onSelectHour(hour: number): void;
    onSelectHourKeyup($event: KeyboardEvent, hour: number): void;
    onSelectMinute(minute: number): void;
    onSelectMinuteKeyup(event: KeyboardEvent, minute: number): void;
    onMousedown(event: Event): void;
    onMouseup(event: Event): void;
    onOk(): void;
    onOpen(): void;
    onClose(): void;
    protected created(): void;
    protected mounted(): void;
    private updatePopupTime;
    private resetPopupTime;
    private getFormatTime;
    private timeStringToNumber;
    private validateTime;
    private validateTimeRange;
    private validateHour;
    private validateMinute;
    private formatTimeString;
    private formatNumber;
    private scrollToSelection;
    private setPositionScroll;
}
declare const TimepickerPlugin: PluginObject<any>;
export default TimepickerPlugin;
//# sourceMappingURL=timepicker.d.ts.map