import { OnDestroy, OnInit } from '@angular/core';
import { ControlValueAccessor, FormBuilder, FormGroup, ValidationErrors, Validator } from '@angular/forms';
import { OptionsService } from '@c8y/ngx-components';
import { OperationSchedule } from './operation-schedule.interface';
import * as i0 from "@angular/core";
export declare class OperationSchedulerComponent implements ControlValueAccessor, Validator, OnInit, OnDestroy {
    private formBuilder;
    private options;
    set _minutesAhead(minutes: number);
    placeholder: string;
    fgOperationScheduler: FormGroup;
    minDate: Date;
    minDelay: number;
    maxDelay: number;
    delayErrors: ValidationErrors;
    pickerErrors: ValidationErrors;
    private readonly DELAY_SECONDS_DEFAULT;
    private readonly MIN_DELAY_SECONDS_DEFAULT;
    private readonly MAX_DELAY_SECONDS_DEFAULT;
    private readonly MINUTES_AHEAD_DEFAULT;
    private isDelayInSeconds;
    private minutesAhead;
    private readonly DELAY_KEY_CATEGORY;
    private readonly MAX_DELAY_KEY_NAME;
    private readonly MIN_DELAY_KEY_NAME;
    private currentUnit;
    private delayInSeconds;
    private initialDate;
    private subscription;
    private onChange;
    private onTouched;
    private onValidatorChanged;
    constructor(formBuilder: FormBuilder, options: OptionsService);
    ngOnInit(): void;
    ngOnDestroy(): void;
    writeValue(value: OperationSchedule): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState?(isDisabled: boolean): void;
    validate(): ValidationErrors;
    registerOnValidatorChange(fn: any): void;
    markAsTouched(): void;
    convertDelayHandler(unit: string): void;
    emitData(data: {
        delayInSeconds: number;
        picker: Date;
        time?: Date;
        delay?: number;
    }): void;
    private updateDelayValidation;
    private convertDelay;
    private combineDateAndTime;
    private dateValidation;
    private timeValidation;
    static ɵfac: i0.ɵɵFactoryDeclaration<OperationSchedulerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<OperationSchedulerComponent, "c8y-operation-scheduler", never, { "_minutesAhead": { "alias": "minutesAhead"; "required": false; }; }, {}, never, never, false, never>;
}
//# sourceMappingURL=operation-scheduler.component.d.ts.map