import { CdkOverlayOrigin, ConnectedOverlayPositionChange, ConnectedPosition, VerticalConnectionPos } from '@angular/cdk/overlay';
import { ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, Renderer2, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { I18nInterface, I18nService } from 'ng-devui/i18n';
import { AppendToBodyDirection, DevConfigService } from 'ng-devui/utils';
import { Observable } from 'rxjs';
import * as i0 from "@angular/core";
interface TimeObj {
    time: string;
    type?: string;
    active?: boolean;
    disabled?: boolean;
}
export declare class TimePickerComponent implements OnChanges, OnInit, OnDestroy, ControlValueAccessor {
    private elementRef;
    private viewContainerRef;
    private renderer2;
    private i18n;
    private cdr;
    private devConfigService;
    private doc;
    appendToBodyDirections: Array<AppendToBodyDirection | ConnectedPosition>;
    disabled: boolean;
    customViewTemplate: TemplateRef<any>;
    autoOpen: boolean;
    showAnimation: boolean;
    origin: CdkOverlayOrigin | undefined;
    splitter: string;
    startAnimation: boolean;
    selectedTimeChange: EventEmitter<string>;
    timePicker: any;
    cdkConnectedOverlayOrigin: any;
    pickerPositions: ConnectedPosition[];
    dropdownPosition: VerticalConnectionPos;
    firstList: Array<TimeObj>;
    secondList: Array<TimeObj>;
    thirdList: Array<TimeObj>;
    originWidth: number;
    i18nCommonText: I18nInterface['common'];
    private valueChanges;
    private userInputSubscription;
    private i18nSubscription;
    private _timePickerWidth;
    private _isOpen;
    private _minTimeHour;
    private _minTimeMin;
    private _minTimeSec;
    private _maxTimeHour;
    private _maxTimeMin;
    private _maxTimeSec;
    private _format;
    private _selectedTimeHour;
    private _selectedTimeMin;
    private _selectedTimeSec;
    private _initTimeHour;
    private _initTimeMin;
    private _initTimeSec;
    private _illegalTimeHour;
    private _illegalTimeMin;
    private _illegalTimeSec;
    private correct;
    document: Document;
    private onChange;
    private onTouched;
    set minTime(minTime: string);
    get minTime(): string;
    set maxTime(maxTime: string);
    get maxTime(): string;
    set format(format: string);
    get format(): string;
    set timePickerWidth(width: number);
    get timePickerWidth(): number;
    set isOpen(open: boolean);
    get isOpen(): boolean;
    set selectedTime(time: string);
    get selectedTime(): string;
    get selectedTimeFormat(): string;
    get initTime(): string;
    get illegalTime(): string;
    constructor(elementRef: ElementRef, viewContainerRef: ViewContainerRef, renderer2: Renderer2, i18n: I18nService, cdr: ChangeDetectorRef, devConfigService: DevConfigService, doc: any);
    onBlur($event: any): void;
    onDocumentClick: ($event: any) => void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnInit(): void;
    ngOnDestroy(): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    writeValue(time?: string): void;
    registerInputEvent(): Observable<any>;
    isMinuteInRange(minute: string): boolean;
    isSecondInRange(second: string): boolean;
    isMinuteInRangeNotBoundary(hour: string, min: string): boolean;
    validateTime(time: string, type?: string): any;
    setI18nText(): void;
    updateCdkConnectedOverlayOrigin(): void;
    toggle(clickShow?: boolean): void;
    hide: () => void;
    private writeModelValue;
    onPositionChange(position: ConnectedOverlayPositionChange): void;
    setTimePickerPositions(): void;
    transUserInputToTimePicker: (value: any) => void;
    resetValue(): void;
    setTimeArr(justScroll?: any): void;
    setSingleTimeArr(index: any, justScroll?: any): void;
    fixTimeInRange(list: any): void;
    setScroll(whichList: any, index: any, justScroll?: any): void;
    scrollTo(element: HTMLElement, to: number, duration: number): void;
    animationEnd(event: any): void;
    setCurrent(which: any, current?: any): void;
    getCurrent(which: any): string;
    setFormatCurrent(which: any, current?: any): void;
    getFormatCurrent(which: any): string;
    selectTime(timeObj?: TimeObj, noEmit?: boolean): void;
    chooseTime: (timeObj: TimeObj) => void;
    confirmTime: (timeObj?: TimeObj) => void;
    clearAll: () => void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TimePickerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TimePickerComponent, "[dTimePicker]", ["timePicker"], { "appendToBodyDirections": "appendToBodyDirections"; "disabled": "disabled"; "customViewTemplate": "customViewTemplate"; "autoOpen": "autoOpen"; "showAnimation": "showAnimation"; "minTime": "minTime"; "maxTime": "maxTime"; "format": "format"; "timePickerWidth": "timePickerWidth"; }, { "selectedTimeChange": "selectedTimeChange"; }, never, never, false>;
}
export {};
