import { EventFieldsMapping, TdData } from '../base/interface';
import { Schedule } from '../base/schedule';
import { EventBase } from './event-base';
/**
 * Month view events render
 */
export declare class MonthEvent extends EventBase {
    element: HTMLElement;
    fields: EventFieldsMapping;
    dateRender: Date[];
    renderedEvents: Record<string, any>[];
    eventHeight: number;
    private monthHeaderHeight;
    workCells: HTMLElement[];
    cellWidth: number;
    cellHeight: number;
    moreIndicatorHeight: number;
    renderType: string;
    maxHeight: boolean;
    withIndicator: boolean;
    maxOrIndicator: boolean;
    inlineValue: boolean;
    private isResourceEventTemplate;
    constructor(parent: Schedule);
    private removeEventWrapper;
    renderAppointments(): void;
    renderEventsHandler(dateRender: Date[], workDays: number[], resData?: TdData): void;
    private processBlockEvents;
    private isSameDate;
    renderBlockEvents(event: Record<string, any>, resIndex: number, isIcon: boolean): void;
    renderBlockIndicator(cellTd: HTMLElement, position: number, resIndex: number): void;
    getStartTime(event: Record<string, any>, eventData: Record<string, any>): Date;
    getEndTime(event: Record<string, any>, eventData: Record<string, any>): Date;
    getCellTd(day: number): HTMLElement;
    getEventWidth(startDate: Date, endDate: Date, isAllDay: boolean, count: number): number;
    getPosition(startTime: Date, endTime: Date, isAllDay: boolean, day: number): number;
    getRowTop(resIndex: number): number;
    updateIndicatorIcon(event: Record<string, any>): void;
    renderResourceEvents(): void;
    getSlotDates(workDays?: number[]): void;
    createAppointmentElement(record: Record<string, any>, resIndex: number, isCloneElement?: boolean): HTMLElement;
    private appendEventIcons;
    renderEvents(event: Record<string, any>, resIndex: number, eventsList?: Record<string, any>[]): void;
    updateCellHeight(cell: HTMLElement, height: number): void;
    updateBlockElements(): void;
    getFilteredEvents(startDate: Date, endDate: Date, groupIndex: string, eventsList?: Record<string, any>[]): Record<string, any>[];
    getOverlapEvents(date: Date, appointments: Record<string, any>[]): Record<string, any>[];
    getIndex(date: Date): number;
    moreIndicatorClick(event: Event): void;
    renderEventElement(event: Record<string, any>, appointmentElement: HTMLElement, cellTd: Element): void;
    private getSpannedTime;
    getEventData(event: Record<string, any>): Record<string, any>;
    renderElement(cellTd: HTMLElement | Element, element: HTMLElement, isAppointment?: boolean): void;
    getMoreIndicatorElement(count: number, startDate: Date, endDate: Date): HTMLElement;
    private getMoreIndicatorText;
    removeHeightProperty(selector: string): void;
    setMaxEventHeight(event: HTMLElement, cell: HTMLElement): void;
    destroy(): void;
}
