import { ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, SimpleChanges, TemplateRef } from '@angular/core';
import dayjs, { Dayjs } from 'dayjs';
import { CommonFormControl } from '../../form/common-form';
import { TimePickerControlType } from '../time-picker.type';
import * as i0 from "@angular/core";
export declare class TimePickerPanelComponent extends CommonFormControl<Dayjs> implements OnChanges {
    protected cdr: ChangeDetectorRef;
    set format(value: string);
    get format(): string;
    private _format;
    get totalWidth(): number;
    onMousedown(): boolean;
    hourStep: number;
    minuteStep: number;
    secondStep: number;
    footerTemplate: TemplateRef<void>;
    confirm: EventEmitter<void>;
    disableHours: () => number[];
    disableMinutes: (hour?: number) => number[];
    disableSeconds: (hour?: number, minute?: number) => number[];
    hourEnabled: boolean;
    minuteEnabled: boolean;
    secondEnabled: boolean;
    TimePickerControlType: typeof TimePickerControlType;
    HOUR_ITEM_CONFIG: number[];
    MINUTE_ITEM_CONFIG: number[];
    SECOND_ITEM_CONFIG: number[];
    CONTROL_ITEM_HEIGHT: number;
    ComponentSize: {
        readonly Large: "large";
        readonly Medium: "medium";
        readonly Small: "small";
        readonly Mini: "mini";
        readonly Empty: "";
    };
    bem: import("../../internal/utils").Bem;
    hourRef: ElementRef<HTMLElement>;
    minuteRef: ElementRef<HTMLElement>;
    secondRef: ElementRef<HTMLElement>;
    enabledColumns: number;
    firstScrolled: boolean;
    constructor(cdr: ChangeDetectorRef);
    isDisabled(value: number, type: TimePickerControlType): boolean;
    ngOnChanges({ hourStep, minuteStep, secondStep }: SimpleChanges): void;
    writeValue(value: Dayjs): void;
    selectValue(value: number, type: TimePickerControlType): void;
    syncValue(value: number, type: TimePickerControlType, currentValue: Dayjs): dayjs.Dayjs;
    syncScrollOffset(duration: number, value: Dayjs): void;
    private scrollByValue;
    matchValue(value: number, type: TimePickerControlType, currDate: Dayjs): boolean;
    getControlTypeConfig(type: TimePickerControlType): number[];
    selectNow(): void;
    trackBy(_index: number, content: number): number;
    static ɵfac: i0.ɵɵFactoryDeclaration<TimePickerPanelComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TimePickerPanelComponent, "aui-time-picker-panel", never, { "format": { "alias": "format"; "required": false; }; "hourStep": { "alias": "hourStep"; "required": false; }; "minuteStep": { "alias": "minuteStep"; "required": false; }; "secondStep": { "alias": "secondStep"; "required": false; }; "footerTemplate": { "alias": "footerTemplate"; "required": false; }; "disableHours": { "alias": "disableHours"; "required": false; }; "disableMinutes": { "alias": "disableMinutes"; "required": false; }; "disableSeconds": { "alias": "disableSeconds"; "required": false; }; }, { "confirm": "confirm"; }, never, never, true, never>;
}
