import { EventEmitter, OnDestroy, OnInit, TemplateRef } from '@angular/core';
import { ClockFaceTime } from './models/clock-face-time.interface';
import { TimePeriod } from './models/time-period.enum';
import { NgxMaterialTimepickerService } from './services/ngx-material-timepicker.service';
import { TimeUnit } from './models/time-unit.enum';
import { AnimationEvent } from '@angular/animations';
import { NgxMaterialTimepickerEventService } from './services/ngx-material-timepicker-event.service';
import { TimepickerDirective } from './directives/ngx-timepicker.directive';
import { DateTime } from 'luxon';
export declare enum AnimationState {
    ENTER = "enter",
    LEAVE = "leave"
}
export declare class NgxMaterialTimepickerComponent implements OnInit, OnDestroy {
    private timepickerService;
    private eventService;
    selectedHour: ClockFaceTime;
    selectedMinute: ClockFaceTime;
    selectedPeriod: TimePeriod;
    timeUnit: typeof TimeUnit;
    activeTimeUnit: TimeUnit;
    isOpened: boolean;
    animationState: AnimationState;
    cancelBtnTmpl: TemplateRef<Node>;
    editableHintTmpl: TemplateRef<Node>;
    confirmBtnTmpl: TemplateRef<Node>;
    isEsc: boolean;
    enableKeyboardInput: boolean;
    preventOverlayClick: boolean;
    disableAnimation: boolean;
    format: number;
    minutesGap: number;
    defaultTime: string;
    timeSet: EventEmitter<string>;
    opened: EventEmitter<null>;
    closed: EventEmitter<null>;
    hourSelected: EventEmitter<number>;
    private _minutesGap;
    private _format;
    private timepickerInput;
    private subscriptions;
    constructor(timepickerService: NgxMaterialTimepickerService, eventService: NgxMaterialTimepickerEventService);
    readonly minTime: string | DateTime;
    readonly maxTime: string | DateTime;
    readonly disabled: boolean;
    ngOnInit(): void;
    /***
     * Register an input with this timepicker.
     * input - The timepicker input to register with this timepicker
     */
    registerInput(input: TimepickerDirective): void;
    onHourChange(hour: ClockFaceTime): void;
    onHourSelected(hour: number): void;
    onMinuteChange(minute: ClockFaceTime): void;
    changePeriod(period: TimePeriod): void;
    changeTimeUnit(unit: TimeUnit): void;
    setTime(): void;
    setDefaultTime(time: string): void;
    open(): void;
    close(): void;
    animationDone(event: AnimationEvent): void;
    onKeydown(e: KeyboardEvent): void;
    ngOnDestroy(): void;
    private closeTimepicker;
}
