import { ChangeDetectorRef, OnChanges, OnInit, SimpleChanges, TemplateRef } from '@angular/core';
import { AsyncValidator, ControlValueAccessor, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn } from '@angular/forms';
import { Observable } from 'rxjs';
import { CronExpression } from 'cron-parser';
import { NzSafeAny } from 'ng-zorro-antd/core/types';
import { NzCronExpressionI18nInterface, NzI18nService } from 'ng-zorro-antd/i18n';
import { Cron, CronChangeType, CronValue, NzCronExpressionSize, NzCronExpressionType, TimeType } from './typings';
import * as i0 from "@angular/core";
export declare class NzCronExpressionComponent implements OnInit, OnChanges, ControlValueAccessor, AsyncValidator {
    private formBuilder;
    private cdr;
    private i18n;
    nzSize: NzCronExpressionSize;
    nzType: NzCronExpressionType;
    nzCollapseDisable: boolean;
    nzExtra?: TemplateRef<void> | null;
    nzSemantic: TemplateRef<void> | null;
    nzBorderless: boolean;
    nzDisabled: boolean;
    locale: NzCronExpressionI18nInterface;
    focus: boolean;
    labelFocus: TimeType | null;
    labels: TimeType[];
    interval: CronExpression<false>;
    nextTimeList: Date[];
    private isNzDisableFirstChange;
    private destroy$;
    validateForm: FormGroup<Record<TimeType, FormControl<CronValue>>>;
    onChange: NzSafeAny;
    onTouch: () => void;
    convertFormat(value: string): void;
    writeValue(value: string | null): void;
    registerOnChange(fn: NzSafeAny): void;
    registerOnTouched(fn: NzSafeAny): void;
    validate(): Observable<ValidationErrors | null>;
    setDisabledState(isDisabled: boolean): void;
    constructor(formBuilder: FormBuilder, cdr: ChangeDetectorRef, i18n: NzI18nService);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    cronFormType(): void;
    previewDate(value: Cron): void;
    loadMorePreview(): void;
    focusEffect(value: TimeType): void;
    blurEffect(): void;
    getValue(item: CronChangeType): void;
    checkValid: ValidatorFn;
    static ɵfac: i0.ɵɵFactoryDeclaration<NzCronExpressionComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NzCronExpressionComponent, "nz-cron-expression", ["nzCronExpression"], { "nzSize": { "alias": "nzSize"; "required": false; }; "nzType": { "alias": "nzType"; "required": false; }; "nzCollapseDisable": { "alias": "nzCollapseDisable"; "required": false; }; "nzExtra": { "alias": "nzExtra"; "required": false; }; "nzSemantic": { "alias": "nzSemantic"; "required": false; }; "nzBorderless": { "alias": "nzBorderless"; "required": false; }; "nzDisabled": { "alias": "nzDisabled"; "required": false; }; }, {}, never, never, true, never>;
    static ngAcceptInputType_nzCollapseDisable: unknown;
    static ngAcceptInputType_nzBorderless: unknown;
    static ngAcceptInputType_nzDisabled: unknown;
}
