import { EventEmitter, OnChanges, OnInit, SimpleChanges } from "@angular/core";
import { ControlValueAccessor } from "@angular/forms";
import { CronOptionModel } from "./models/cron-options-model";
import { TranslateService } from "@ngx-translate/core";
import { TranslateUiService } from "./services/translateUi.service";
import * as i0 from "@angular/core";
export declare class CronEditorComponent implements OnInit, OnChanges, ControlValueAccessor {
    private translate;
    private translateUiService;
    static nextId: number;
    id: number;
    private _language;
    set language(value: string);
    get language(): string;
    disabled: boolean;
    options: CronOptionModel;
    get cron(): string;
    set cron(value: string);
    cronChange: EventEmitter<any>;
    activeTab: string;
    selectOptions: {
        months: number[];
        monthWeeks: string[];
        days: string[];
        minutes: number[];
        fullMinutes: number[];
        seconds: number[];
        hours: number[];
        monthDays: number[];
        monthDaysWithLasts: string[];
        hourTypes: string[];
    };
    state: any;
    private localCron;
    private isDirty;
    constructor(translate: TranslateService, translateUiService: TranslateUiService);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    writeValue(cronExpression: string): void;
    registerOnChange(onChange: (cronExpression: string) => void): void;
    registerOnTouched(onTouched: () => void): void;
    setDisabledState?(isDisabled: boolean): void;
    setActiveTab(tab: string): void;
    dayDisplay(day: string): string;
    monthWeekDisplay(monthWeekNumber: number): string;
    monthDisplay(month: number): string;
    monthDayDisplay(month: string): string;
    regenerateCron(): void;
    private getAmPmHour;
    private getHourType;
    private hourToCron;
    private handleModelChange;
    private validate;
    private getDefaultAdvancedCronExpression;
    private getDefaultState;
    private getOrdinalSuffix;
    private getSelectOptions;
    static ɵfac: i0.ɵɵFactoryDeclaration<CronEditorComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CronEditorComponent, "cron-editor", never, { "language": "language"; "disabled": "disabled"; "options": "options"; "cron": "cron"; }, { "cronChange": "cronChange"; }, never, never, false, never>;
}
