import { Injector } from '@angular/core';
import { FormControl } from '@angular/forms';
import { DateLike } from '@microsoft/windows-admin-center-sdk/core/base/date/date-like';
import { DropdownComponent } from '../../../dropdown/dropdown.component';
import { ValidationAlerts } from '../../validation-alert/validation-alert';
import { ClockFormFieldComponent } from '../clock/clock-form-field.component';
import { DateLikeFormFieldComponent } from '../date-like/date-like-form-field.component';
import * as i0 from "@angular/core";
/**
 * Time Form Field Component
 */
export declare class TimeFormFieldComponent extends DateLikeFormFieldComponent {
    /**
     * The source name to use for logging
     */
    protected get logSourceName(): string;
    dropDown: DropdownComponent;
    clock: ClockFormFieldComponent;
    /**
     * The current editable display value of this field
     */
    displayValue: string;
    /**
     * indicates if the display value is valid
     */
    displayValueValid: boolean;
    /**
     * indicates if a value change is expected
     */
    expectValueChange: boolean;
    /**
     * Initializes a new instance of the @see TimeFormFieldComponent class.
     * @param injector The angular injection service. required by @see SmeInjectableBase decorator in the @see BaseComponent class
     */
    constructor(injector: Injector);
    /**
     * Handles toggled state changes
     */
    onDropdownToggled(expanded: boolean): void;
    /**
     * Handles keydown events on the dropdown toggle
     */
    onToggleKeydown(event: KeyboardEvent): void;
    onDateInputKeydown(event: KeyboardEvent): void;
    /**
     * Handles value changes from the date input
     */
    commitDisplayValue(): void;
    /**
     * Occurs every time the value of the control changes, in the UI or programmatically.
     * @param value the value of the form control
     */
    protected onValueChanged(value: DateLike): void;
    /**
     * Performs validation that is internal to this control
     * @param c The form control attached to this instance
     */
    protected validate(c: FormControl): ValidationAlerts;
    /**
     * Creates the idBag used by this component to store unique element ids.
     * id values will be assigned be the @see BaseComponent super class.
     */
    protected createIdBag(): MsftSme.StringMap<string>;
    static ɵfac: i0.ɵɵFactoryDeclaration<TimeFormFieldComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TimeFormFieldComponent, "sme-form-field[type=\"time\"]", never, {}, {}, never, never, false, never>;
}
