import { TemplateRef } from '@angular/core';
import { CdkOverlayOrigin, ConnectedPosition } from '@angular/cdk/overlay';
import { ThemePalette } from '@angular/material/core';
import { BehaviorSubject } from 'rxjs';
import { DateTime } from 'luxon';
import { NgxMatTimepickerRef } from '../../models/ngx-mat-timepicker-ref.interface';
import { NgxMatTimepickerFormatType } from '../../models/ngx-mat-timepicker-format.type';
import { NgxMatTimepickerDirective } from '../../directives/ngx-mat-timepicker.directive';
import * as i0 from "@angular/core";
export declare class NgxMatTimepickerComponent implements NgxMatTimepickerRef {
    private readonly _dialog;
    static nextId: number;
    appendToInput: boolean;
    color: import("@angular/core").InputSignal<ThemePalette>;
    get disabled(): boolean;
    enableKeyboardInput: boolean;
    set format(value: NgxMatTimepickerFormatType);
    get format(): NgxMatTimepickerFormatType;
    get inputElement(): HTMLInputElement;
    get maxTime(): DateTime;
    get minTime(): DateTime;
    set minutesGap(gap: number);
    get minutesGap(): number;
    get overlayOrigin(): CdkOverlayOrigin;
    get time(): string;
    cancelBtnTmpl: TemplateRef<Node>;
    confirmBtnTmpl: TemplateRef<Node>;
    editableHintTmpl: TemplateRef<Node>;
    defaultTime: string;
    disableAnimation: boolean;
    preventOverlayClick: boolean;
    hoursOnly: boolean;
    isEsc: boolean;
    max: DateTime;
    min: DateTime;
    timepickerClass: string;
    readonly opened: import("@angular/core").OutputEmitterRef<void>;
    readonly closed: import("@angular/core").OutputEmitterRef<void>;
    readonly timeSet: import("@angular/core").OutputEmitterRef<string>;
    readonly timeChanged: import("@angular/core").OutputEmitterRef<string>;
    readonly hourSelected: import("@angular/core").OutputEmitterRef<number>;
    id: string;
    overlayPositions: ConnectedPosition[];
    showPicker: boolean;
    timeUpdated$: BehaviorSubject<string>;
    private _dialogRef;
    private _format;
    private _minutesGap;
    private _overlayRef;
    private _timepickerInput;
    close(): void;
    open(): void;
    /***
     * Register an input with this timepicker.
     * input - The timepicker input to register with this timepicker
     */
    registerInput(input: NgxMatTimepickerDirective): void;
    unregisterInput(): void;
    updateTime(time: string): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgxMatTimepickerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NgxMatTimepickerComponent, "ngx-mat-timepicker", never, { "appendToInput": { "alias": "appendToInput"; "required": false; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "enableKeyboardInput": { "alias": "enableKeyboardInput"; "required": false; }; "format": { "alias": "format"; "required": false; }; "minutesGap": { "alias": "minutesGap"; "required": false; }; "cancelBtnTmpl": { "alias": "cancelBtnTmpl"; "required": false; }; "confirmBtnTmpl": { "alias": "confirmBtnTmpl"; "required": false; }; "editableHintTmpl": { "alias": "editableHintTmpl"; "required": false; }; "defaultTime": { "alias": "defaultTime"; "required": false; }; "disableAnimation": { "alias": "disableAnimation"; "required": false; }; "preventOverlayClick": { "alias": "preventOverlayClick"; "required": false; }; "hoursOnly": { "alias": "hoursOnly"; "required": false; }; "isEsc": { "alias": "isEsc"; "required": false; }; "max": { "alias": "max"; "required": false; }; "min": { "alias": "min"; "required": false; }; "timepickerClass": { "alias": "timepickerClass"; "required": false; }; }, { "opened": "opened"; "closed": "closed"; "timeSet": "timeSet"; "timeChanged": "timeChanged"; "hourSelected": "hourSelected"; }, never, never, true, never>;
    static ngAcceptInputType_appendToInput: unknown;
    static ngAcceptInputType_enableKeyboardInput: unknown;
    static ngAcceptInputType_disableAnimation: unknown;
    static ngAcceptInputType_preventOverlayClick: unknown;
}
