import { AfterContentInit, ElementRef, OnDestroy, EventEmitter, SimpleChanges, OnChanges } from '@angular/core';
import { I18nService } from '../i18n/i18n.service';
import { ValueAccessorBase } from '../input/core/value-accessor';
import { NgControl } from '@angular/forms';
export interface IncrementalSteps {
    hour: number;
    minute: number;
}
export declare enum TIME {
    MINUTE = "minute",
    HOUR = "hour"
}
export declare class TlTimepicker extends ValueAccessorBase<Date | string> implements AfterContentInit, OnChanges, OnDestroy {
    ngControl: NgControl;
    private i18n;
    format: '12' | '24';
    flatBorder: boolean;
    showTimeIcon: boolean;
    label: string;
    labelPlacement: string;
    labelSize: string;
    height: string;
    readonly: boolean;
    disabled: boolean;
    withBorder: boolean;
    steps: IncrementalSteps;
    availableTimes: any[];
    color: string;
    name: string;
    isoModel: boolean;
    min: Date;
    max: Date;
    listHour: ElementRef;
    listMinutes: ElementRef;
    listAmPm: ElementRef;
    now: EventEmitter<any>;
    changeTime: EventEmitter<string>;
    confirm: EventEmitter<Date | string>;
    cancel: EventEmitter<Date | string>;
    isOpen: boolean;
    trigger: any;
    nowText: string;
    selectedTime: string;
    minutes: any[];
    hours: any[];
    minute: number | string;
    hour: number | string;
    timeZone: string;
    textConfirm: string;
    textCancel: string;
    private headerHeight;
    private border;
    private nullElements;
    private itemHeight;
    private loaded;
    private leftPad;
    private listeners;
    constructor(ngControl: NgControl, i18n: I18nService);
    get control(): import("@angular/forms").AbstractControl;
    setControl(): void;
    ngAfterContentInit(): void;
    listenControlChanges(): void;
    private handleCreateRing;
    private createHourRing;
    private createMinuteRing;
    changeOpened(): void;
    private setModelValue;
    onMouseDownContainer($event: any): void;
    private emitClickNow;
    onBlur(): void;
    onClickNow(): void;
    private setValue;
    onScrollHour($event: any): void;
    onScrollMinutes($event: any): void;
    onClickCancel(): void;
    onClickConfirm(): void;
    onChangeValue(stringTime: any): void;
    private setScrollColumn;
    private getDataIndex;
    private convertToAmPm;
    private getItemByDataIndexMinute;
    private getItemByDataIndexHour;
    private cleanValue;
    private isFormat24;
    private isFormat12;
    isTimeZonePM(): boolean;
    isTimeZoneAM(): boolean;
    setMinute(minute: number): void;
    setHour(hour: number): void;
    clickListItem(scrollElement: any, $event: any): void;
    setAm(): void;
    setPm(): void;
    onClose(): void;
    getFormattedHour(): string;
    private formatTime;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
}
