import { Schedule } from '../base/schedule';
import { TdData } from '../base/interface';
import { NavigationDirection } from '../base/type';
/**
 * view base
 */
export declare class ViewBase {
    previousNextAction: NavigationDirection;
    element: HTMLElement;
    parent: Schedule;
    renderDates: Date[];
    colLevels: TdData[][];
    viewIndex: number;
    /**
     * Constructor
     *
     * @param {Schedule} parent Accepts the schedule instance
     */
    constructor(parent: Schedule);
    isTimelineView(): boolean;
    getContentRows(): Element[];
    refreshHeader(): void;
    refreshResourceHeader(): void;
    getDayName(date: Date): string;
    getDate(date: Date): string;
    getTime(date: Date): string;
    getTimelineDate(date: Date): string;
    createEventTable(trCount: number): Element;
    getEventRows(trCount: number): Element[];
    collapseRows(wrap: Element): void;
    createTableLayout(className?: string): Element;
    setAriaAttributes(table: Element): void;
    createColGroup(table: Element, lastRow: TdData[]): void;
    getScrollXIndent(content: HTMLElement): number;
    scrollTopPanel(target: HTMLElement): void;
    scrollHeaderLabels(target: HTMLElement): void;
    addAttributes(td: TdData, element: Element): void;
    getHeaderBarHeight(): number;
    renderPanel(type: string): void;
    setPanel(panel: HTMLElement): void;
    getPanel(): HTMLElement;
    getDatesHeaderElement(): HTMLElement;
    getDateSlots(renderDates: Date[], workDays: number[]): TdData[];
    generateColumnLevels(): TdData[][];
    getColumnLevels(): TdData[][];
    highlightCurrentTime(): void;
    getStartDate(): Date;
    getEndDate(): Date;
    startDate(): Date;
    endDate(): Date;
    getStartHour(): Date;
    getEndHour(): Date;
    isCurrentDate(date: Date): boolean;
    isCurrentMonth(date: Date): boolean;
    isWorkDay(date: Date, workDays?: number[]): boolean;
    isWorkHour(date: Date, startHour: Date, endHour: Date, workDays: number[]): boolean;
    getRenderDates(workDays?: number[], date?: Date): Date[];
    getNextPreviousDate(type: NavigationDirection): Date;
    formatViewLabel(view: string, startDate: Date, endDate: Date): string;
    getLabelText(view: string): string;
    getDateRangeText(date?: Date, dateCollection?: Date[]): string;
    formatDateRange(startDate: Date, endDate?: Date): string;
    getMobileDateElement(date: Date, className?: string): Element;
    setResourceHeaderContent(tdElement: Element, tdData: TdData, className?: string): void;
    renderResourceMobileLayout(): void;
    addAutoHeightClass(element: Element): void;
    private getColElements;
    setColWidth(content: HTMLElement): void;
    resetColWidth(): void;
    getContentAreaElement(): HTMLElement;
    wireExpandCollapseIconEvents(): void;
    scrollToDate(scrollDate: Date): void;
    setPersistence(): void;
    retainScrollPosition(): void;
    getViewStartDate(): Date;
    getViewEndDate(): Date;
    getAdjustedDate(startTime: Date): Date;
    resetColLevels(): void;
    getGroupIndices(dataCollection?: TdData[]): number[];
    destroy(): void;
}
