import { Dialog } from '@syncfusion/ej2-popups';
import { Schedule } from '../base/schedule';
import { CurrentAction } from '../base/type';
import { RecurrenceEditor } from '../../recurrence-editor/recurrence-editor';
/**
 * Event editor window
 */
export declare class EventWindow {
    private parent;
    dialogObject: Dialog;
    private element;
    private fields;
    private l10n;
    private eventData;
    private eventCrudData;
    private fieldValidator;
    private recurrenceEditor;
    private repeatDialogObject;
    private repeatTempRule;
    private repeatRule;
    private repeatStatus;
    private buttonObj;
    private repeatStartDate;
    private cellClickAction;
    private duration;
    private isCrudAction;
    private eventWindowTime;
    private isEnterKey;
    private dialogEvent;
    constructor(parent: Schedule);
    private renderEventWindow;
    private renderDialogButtons;
    private addEventHandlers;
    refresh(): void;
    refreshRecurrenceEditor(): void;
    setRecurrenceEditor(recurrenceEditor: RecurrenceEditor): void;
    openEditor(data: Record<string, any>, type: CurrentAction, isEventData?: boolean, repeatType?: number): void;
    private setEditorContent;
    setDialogContent(): void;
    setDialogHeader(): void;
    setDialogFooter(): void;
    private createAdaptiveHeaderElement;
    private getDialogHeader;
    private getDialogFooter;
    private preventEventSave;
    private onBeforeOpen;
    private onBeforeClose;
    private getEventWindowContent;
    private renderFormElements;
    private getDefaultEventWindowContent;
    private createRecurrenceEditor;
    private createDivElement;
    private createInputElement;
    private getSlotDuration;
    private renderDateTimePicker;
    refreshDateTimePicker(duration?: number): void;
    private onTimeChange;
    private renderResourceDetails;
    private renderDropDown;
    private onMultiselectResourceChange;
    private createInstance;
    private onDropdownResourceChange;
    private filterDatasource;
    private onTimezoneChange;
    private renderCheckBox;
    private renderTextBox;
    private getFieldName;
    private getFieldLabel;
    private onChange;
    private renderRepeatDialog;
    private loadRecurrenceEditor;
    private onRepeatChange;
    private repeatSaveDialog;
    private closeRepeatDialog;
    private repeatCancelDialog;
    private repeatOpenDialog;
    private onCellDetailsUpdate;
    convertToEventData(cellsData: Record<string, any>, eventObj: Record<string, any>): void;
    private applyFormValidation;
    private showDetails;
    private getColumnName;
    private onAllDayChange;
    private updateDateTime;
    private getFormat;
    private onEventDetailsUpdate;
    private disableButton;
    private renderRecurrenceEditor;
    updateMinMaxDateToEditor(): void;
    private updateRepeatLabel;
    dialogClose(event?: Event): void;
    private resetForm;
    private timezoneChangeStyle;
    private resetFormFields;
    eventSave(event: Event, alert?: string): void;
    getEventDataFromEditor(): Record<string, Record<string, any>>;
    private processEventValidation;
    private processCrudActions;
    private getResourceData;
    getObjectFromFormData(className: string): Record<string, any>;
    setDefaultValueToObject(eventObj: Record<string, any>): void;
    private recurrenceValidation;
    private getRecurrenceIndex;
    private trimAllDay;
    editOccurrenceValidation(eventId: string | number, currentData: Record<string, any>, editData?: Record<string, any>): boolean;
    private resourceSaveEvent;
    private getEventIdFromForm;
    private getFormElements;
    private getValueFromElement;
    private setValueToElement;
    private setDefaultValueToElement;
    private getInstance;
    private eventDelete;
    getRecurrenceEditorInstance(): RecurrenceEditor;
    private destroyComponents;
    private detachComponents;
    destroy(isIgnore?: boolean): void;
}
