import { ControlValueAccessor, NgForm, NgControl, FormGroupDirective } from '@angular/forms'; import { OnInit, EventEmitter, ElementRef, OnChanges, Renderer2, AfterViewInit, OnDestroy, SimpleChanges, NgZone, TemplateRef } from '@angular/core'; import { MatDialog } from '@angular/material/dialog'; import { MatFormFieldControl, MatFormField } from '@angular/material/form-field'; import { ClockMode } from './interfaces-and-types'; import { Subject } from 'rxjs'; import { FocusMonitor } from '@angular/cdk/a11y'; import { ErrorStateMatcher } from '@angular/material/core'; import { Platform } from '@angular/cdk/platform'; import * as i0 from "@angular/core"; export interface MatTimepickerButtonTemplateContext { $implicit: () => void; label: string; } export declare class MatTimepickerDirective implements OnInit, OnChanges, AfterViewInit, OnDestroy, ControlValueAccessor, MatFormFieldControl { ngControl: NgControl; dialog: MatDialog; private renderer; private zone; private fm; private elRef; protected _platform: Platform; private _parentForm; private _matFormFiled; private _parentFormGroup; protected _formField?: MatFormField | undefined; /** Unique ID generator for instances. */ static nextId: number; /** Whether the component is being rendered on the server. */ readonly _isServer: boolean; /** Whether the component is a native html select. */ readonly _isNativeSelect: boolean; /** Whether the component is a textarea. */ readonly _isTextarea: boolean; /** Whether the input is inside of a form field. */ readonly _isInFormField: boolean; /** * Implemented as part of MatFormFieldControl. * @docs-private */ focused: boolean; /** * Implemented as part of MatFormFieldControl. * @docs-private */ stateChanges: Subject; /** * Implemented as part of MatFormFieldControl. * @docs-private */ autofilled: boolean; /** Callback for the cases where the focused state of the input changes. */ _focusChanged(isFocused: boolean): void; _onInput(): void; get disabled(): boolean; set disabled(value: Boolean); protected _disabled: boolean; /** * Implemented as part of MatFormFieldControl. * @docs-private */ get id(): string; set id(value: string); protected _id: string; /** * Implemented as part of MatFormFieldControl. * @docs-private */ placeholder: string; /** * Name of the input. * @docs-private */ name: string; /** * Implemented as part of MatFormFieldControl. * @docs-private */ get required(): boolean; set required(value: Boolean); protected _required: boolean | undefined; userAriaDescribedBy: string; /** @internal */ _errorState: boolean; get errorState(): boolean; get readonly(): boolean; set readonly(value: boolean); private _readonly; private isAlive; /** Unique ID for this instance. */ protected _uid: string; describedBy: string; errorStateMatcher: ErrorStateMatcher; private pattern; private allowed24HourMap; private allowed12HourMap; private isInputFocused; /** Use a custom template for the ok button. */ okButtonTemplate: TemplateRef | null; /** Use a custom template for the cancel button. */ cancelButtonTemplate: TemplateRef | null; /** Override the label of the ok button. */ okLabel: string; /** Override the label of the cancel button. */ cancelLabel: string; /** Override the ante meridiem abbreviation. */ anteMeridiemAbbreviation: string; /** Override the post meridiem abbreviation. */ postMeridiemAbbreviation: string; /** Sets the clock mode, 12-hour or 24-hour clocks are supported. */ mode: ClockMode; /** Color theme for the time picker dialog. */ color: string; /** Disable opening the dialog on click. */ disableDialogOpenOnClick: boolean; /** Use strict date validation (entire date) vs time-only validation. */ strict: boolean; /** Type identifier for form field CSS. */ controlType: string; /** Minimum allowed date/time. */ minDate: Date; /** Maximum allowed date/time. */ maxDate: Date; private listeners; private _isPm; private _value; private _formattedValueString; private _skipValueChangeEmission; set value(value: Date); get value(): Date; get isPm(): boolean; get empty(): boolean; private get formattedValueString(); private currentValue; private modalRef; private combination; private onChangeFn; private onTouchedFn; /** Emitted when the time value changes. */ timeChange: EventEmitter; /** Emitted when invalid input is entered. */ invalidInput: EventEmitter; inputHandler(): void; keydownHandler(event: any): true | undefined; keyupHandler(event: any): void; focusHandler(): void; focusoutHandler(): void; constructor(ngControl: NgControl, dialog: MatDialog, renderer: Renderer2, zone: NgZone, fm: FocusMonitor, elRef: ElementRef, _platform: Platform, _parentForm: NgForm, _matFormFiled: MatFormField, _parentFormGroup: FormGroupDirective, _defaultErrorStateMatcher: ErrorStateMatcher, _formField?: MatFormField | undefined); /** * Implemented as part of MatFormFieldControl. * @docs-private */ get shouldLabelFloat(): boolean; private _iOSKeyupListener; /** * Implemented as part of MatFormFieldControl. * @docs-private */ setDescribedByIds(ids: string[]): void; onContainerClick(event: MouseEvent): void; focus(options?: FocusOptions): void; /** Whether the form control is a native select that is displayed inline. */ _isInlineSelect(): boolean; setInputElementValue(value: any): void; validate(): { dateRange: boolean; } | null; ngAfterViewInit(): void; clickHandler: (e: FocusEvent) => void; ngOnInit(): void; generateAllowedMap(): void; ngOnChanges(simpleChanges: SimpleChanges): void; writeValue(value: Date | null, isInnerCall?: boolean): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; setDisabledState?(isDisabled: boolean): void; showDialog(): void; handleChange: (newValue: any) => void; handleOk: (value: any) => void; handleCancel: () => void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; }