import { OnInit, ElementRef, EventEmitter } from '@angular/core';
import { AbstractHasData } from '../../../AbstractHasData';
import { IHasModel } from '../../../IHasModel';
import { ICalendarEntryMapper } from '../../ICalendarEntryMapper';
import { INeedFocus } from '../../../INeedFocus';
import { NeedFocusService } from '../../../../service/NeedFocusService.service';
import { ICalendarEntryPopoverContent } from '../../ICalendarEntryPopoverContent';
import { AbstractDataEditor } from '../../AbstractDataEditor';
import { IHasData } from '../../../IHasData';
export declare class CalendarEntryPopover extends AbstractHasData implements OnInit, IHasModel, INeedFocus, ICalendarEntryPopoverContent {
    static readonly TYPE_NAME: string;
    static readonly LEFT: string;
    static readonly RIGHT: string;
    static readonly BELOW: string;
    static readonly ABOVE: string;
    static readonly POPOVER_SHOW_EVENT: string;
    static readonly POPOVER_HIDE_EVENT: string;
    protected dataParent: IHasData;
    protected ignoreParentData: boolean;
    protected ignoreParentDisabled: boolean;
    protected delegateHistory: boolean;
    protected onDisabled: Function;
    protected onEnabled: Function;
    protected loadingEnabled: boolean;
    protected i18nKey: string;
    protected bypass: boolean;
    protected options: any;
    private model;
    protected data: any;
    private entryMapper;
    private editor;
    private _show;
    private componentHandler;
    private compoWrapInstance;
    private defaultArrowTop;
    private needFocusService;
    private showEvent;
    private hideEvent;
    constructor(elementRef: ElementRef, needFocusService: NeedFocusService);
    ngOnInit(): void;
    private showMenu(isShow);
    _getComponentHandler(): Function;
    isModelEmpty(): boolean;
    setArrowTop(top: number): void;
    show(): void;
    hide(): void;
    isShow(): boolean;
    getModel(): any;
    setModel(model: any): void;
    setData(data: any): void;
    getPosition(): string;
    getShowEvent(): EventEmitter<any>;
    getHideEvent(): EventEmitter<any>;
    setShowEvent(event: EventEmitter<any>): void;
    setHideEvent(event: EventEmitter<any>): void;
    onClick($event: MouseEvent): void;
    onFocus(event: any): void;
    onLostFocus(event: any): void;
    isSelfDataDirty(): boolean;
    selfSaveData(data: any): void;
    selfResetData(): void;
    setCalendarEntryMapper(entryMapper: ICalendarEntryMapper): void;
    setEditor(editor: AbstractDataEditor): void;
    doPreload(): Promise<any>;
    doLoaded(): void;
    getEntryMapper(): ICalendarEntryMapper;
    onPopoverClosed($event: Event): void;
    onAutoSaved($event: Event): void;
    isAutoSave(): boolean;
}
