import { AfterViewInit, ChangeDetectorRef, ElementRef, Injector, OnDestroy, OnInit } from '@angular/core';
import { FormGroup } 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 { 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: FormGroup;
    protected dateInput: ODateInputComponent;
    protected hourInput: OHourInputComponent;
    protected subscription: Subscription;
    dateAttr: string;
    hourAttr: string;
    constructor(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, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<OTimeInputComponent, "o-time-input", never, { "valueType": { "alias": "value-type"; "required": false; }; "oformat": { "alias": "value-format"; "required": false; }; "oDateFormat": { "alias": "date-format"; "required": false; }; "oDateLocale": { "alias": "date-locale"; "required": false; }; "oDateStartView": { "alias": "date-start-view"; "required": false; }; "oDateMinDate": { "alias": "date-min"; "required": false; }; "oDateMaxDate": { "alias": "date-max"; "required": false; }; "oDateTouchUi": { "alias": "date-touch-ui"; "required": false; }; "oDateStartAt": { "alias": "date-start-at"; "required": false; }; "oDateFilterDate": { "alias": "date-filter-date"; "required": false; }; "oDateTextInputEnabled": { "alias": "date-text-input-enabled"; "required": false; }; "oHourFormat": { "alias": "hour-format"; "required": false; }; "oHourMin": { "alias": "hour-min"; "required": false; }; "oHourMax": { "alias": "hour-max"; "required": false; }; "oHourTextInputEnabled": { "alias": "hour-text-input-enabled"; "required": false; }; "oHourPlaceholder": { "alias": "hour-placeholder"; "required": false; }; "oDatePlaceholder": { "alias": "date-placeholder"; "required": false; }; }, {}, never, never, true, never>;
}
