import { AfterViewInit, ChangeDetectorRef, ElementRef, Injector, OnDestroy, OnInit } from '@angular/core';
import { UntypedFormGroup } from '@angular/forms';
import { Subscription } from 'rxjs';
import { DateFilterFunction } from '../../../types/date-filter-function.type';
import { FormValueOptions } from '../../../types/form-value-options.type';
import { ODateValueType } from '../../../types/o-date-value.type';
import { OFormComponent } from '../../form/o-form.component';
import { OFormDataComponent } from '../../o-form-data-component.class';
import { ODateInputComponent } from '../date-input/o-date-input.component';
import { OHourInputComponent } from '../hour-input/o-hour-input.component';
import { OFormControl } from '../o-form-control.class';
import * as i0 from "@angular/core";
export declare const DEFAULT_INPUTS_O_TIME_INPUT: string[];
export declare class OTimeInputComponent extends OFormDataComponent implements OnInit, AfterViewInit, OnDestroy {
    protected cd: ChangeDetectorRef;
    oDateFormat: string;
    oDateLocale: any;
    oDateStartView: 'month' | 'year';
    oDateMinDate: any;
    oDateMaxDate: any;
    oDateTouchUi: boolean;
    oDateStartAt: any;
    oDateFilterDate: DateFilterFunction;
    oDateTextInputEnabled: boolean;
    oHourFormat: number;
    oHourMin: string;
    oHourMax: string;
    oHourTextInputEnabled: boolean;
    oHourPlaceholder: string;
    oDatePlaceholder: string;
    protected oformat: string;
    protected _valueType: ODateValueType;
    protected blockGroupValueChanges: boolean;
    protected formGroup: UntypedFormGroup;
    protected dateInput: ODateInputComponent;
    protected hourInput: OHourInputComponent;
    protected subscription: Subscription;
    dateAttr: string;
    hourAttr: string;
    constructor(form: OFormComponent, elRef: ElementRef, injector: Injector, cd: ChangeDetectorRef);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    createFormControl(cfg: any, validators: any): OFormControl;
    onFormControlChange(value: any): void;
    setValue(newValue: any, options?: FormValueOptions): void;
    onClickClearValue(event: Event): void;
    protected setInnerComponentsData(): void;
    protected updateComponentValue(): void;
    protected modifyFormControls(): void;
    protected registerFormControls(): void;
    set valueType(val: any);
    get valueType(): any;
    ensureOFormValue(arg: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<OTimeInputComponent, [{ optional: true; }, null, null, null]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<OTimeInputComponent, "o-time-input", never, { "valueType": "value-type"; "oformat": "value-format"; "oDateFormat": "date-format"; "oDateLocale": "date-locale"; "oDateStartView": "date-start-view"; "oDateMinDate": "date-min"; "oDateMaxDate": "date-max"; "oDateTouchUi": "date-touch-ui"; "oDateStartAt": "date-start-at"; "oDateFilterDate": "date-filter-date"; "oDateTextInputEnabled": "date-text-input-enabled"; "oHourFormat": "hour-format"; "oHourMin": "hour-min"; "oHourMax": "hour-max"; "oHourTextInputEnabled": "hour-text-input-enabled"; "oHourPlaceholder": "hour-placeholder"; "oDatePlaceholder": "date-placeholder"; }, {}, never, never, false, never>;
}
