/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { IntlService } from '@progress/kendo-angular-intl';
import { Day } from '@progress/kendo-date-math';
import { RecurrenceService, Frequency } from './recurrence.service';
import { NumericTextBoxOptions } from '../../types/numeric-options.interface';
import { DatePickerOptions } from './../../types/datepicker-options.interface';
import * as i0 from "@angular/core";
/**
 * @hidden
 */
export declare const RECURRENCE_VALUE_ACCESSOR: any;
/**
 * Represents the Kendo UI Recurrence Editor component for Angular. [This example](slug:custom_reactive_editing_scheduler) demonstrates the Recurrence Editor, among other components.
 */
export declare class RecurrenceEditorComponent implements ControlValueAccessor, OnInit, OnDestroy {
    private recurrenceService;
    private intl;
    cssClass: boolean;
    /**
     * Specifies the start date of the event.
     */
    set start(value: Date);
    get start(): Date;
    /**
     * Specifies the id of the timezone that will be used.
     * @default 'Etc/UTC'
     */
    timezone: string;
    /**
     * The first day of the week. Defaults to the locale settings.
     */
    weekStart: Day;
    /**
     * Specifies the options of the `Repeat Every` NumericTextBox component within the recurrence `interval` editor.
     */
    repeatEveryOptions: NumericTextBoxOptions;
    /**
     * Specifies the options of the `End After` NumericTextBox component within the recurrence `count` rule editor.
     */
    endAfterOptions: NumericTextBoxOptions;
    /**
     * Specifies the options of the `Repeat On` NumericTextBox component for choosing the day
     * an event will occur on within the monthly and yearly sections of the recurrence editor.
     */
    repeatOnOptions: NumericTextBoxOptions;
    /**
     * Specifies the options of the `End On` DatePicker component within the recurrence `until` rule editor.
     */
    endOnOptions: DatePickerOptions;
    /**
     * Fires when the value of the component has changed.
     */
    valueChange: EventEmitter<string>;
    private _start;
    private subscriptions;
    constructor(recurrenceService: RecurrenceService, intl: IntlService);
    /**
     * @hidden
     */
    get currentFreq(): Frequency;
    /**
     * @hidden
     */
    ngOnInit(): void;
    ngOnChanges(changes: any): void;
    /**
     * @hidden
     */
    ngOnDestroy(): void;
    /**
     * @hidden
     */
    writeValue(rrule: any): void;
    protected onTouchedCallback: Function;
    protected onChangeCallback: Function;
    /**
     * @hidden
     */
    registerOnChange(fn: any): void;
    /**
     * @hidden
     */
    registerOnTouched(fn: any): void;
    private emitChange;
    static ɵfac: i0.ɵɵFactoryDeclaration<RecurrenceEditorComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<RecurrenceEditorComponent, "kendo-recurrence-editor", ["kendoRecurrenceEditor"], { "start": { "alias": "start"; "required": false; }; "timezone": { "alias": "timezone"; "required": false; }; "weekStart": { "alias": "weekStart"; "required": false; }; "repeatEveryOptions": { "alias": "repeatEveryOptions"; "required": false; }; "endAfterOptions": { "alias": "endAfterOptions"; "required": false; }; "repeatOnOptions": { "alias": "repeatOnOptions"; "required": false; }; "endOnOptions": { "alias": "endOnOptions"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
}
