import { Schedule } from '../base/schedule';
import { TdData } from '../base/interface';
import { ResourcesModel } from '../models/resources-model';
export declare class ResourceBase {
    private parent;
    resourceCollection: ResourcesModel[];
    lastResourceLevel: TdData[];
    renderedResources: TdData[];
    expandedResources: TdData[];
    private colorIndex;
    private resourceTreeLevel;
    private treeViewObj;
    private treePopup;
    private popupOverlay;
    private leftPixel;
    resourceDateTree: TdData[][];
    constructor(parent: Schedule);
    renderResourceHeaderIndent(tr: Element): void;
    hideResourceRows(tBody: Element): void;
    createResourceColumn(): Element;
    setRenderedResources(): void;
    setExpandedResources(): void;
    getContentRows(resData: TdData[], isVirtualScroll?: boolean): Element[];
    private setMargin;
    private countCalculation;
    onTreeIconClick(e: Event): void;
    updateContent(index: number, hide: boolean): void;
    updateVirtualContent(index: number, expand: boolean, e: Event, target: Element): void;
    renderResourceHeader(): void;
    renderResourceTree(): void;
    private resourceTreeCreated;
    private generateTreeData;
    private renderResourceHeaderText;
    private menuClick;
    selectResourceByIndex(groupIndex: number): void;
    private resourceClick;
    private triggerEvents;
    private documentClick;
    bindResourcesData(isSetModel: boolean): void;
    private dataManagerSuccess;
    private getResourceModel;
    refreshLayout(isSetModel: boolean): void;
    setResourceCollection(): void;
    generateResourceLevels(innerDates: TdData[], isTimeLine?: boolean): TdData[][];
    generateCustomHours(renderDates: TdData[], startHour: string, endHour: string, groupOrder?: string[]): TdData[];
    private generateHeaderLevels;
    setResourceValues(eventObj: Record<string, any>, groupIndex?: number): void;
    getResourceColor(eventObj: Record<string, any>, groupOrder?: string[]): string;
    getCssClass(eventObj: Record<string, any>): string;
    getResourceRenderDates(): Date[];
    private filterData;
    getResourceData(eventObj: Record<string, any>, index: number, groupEditIndex: number[]): void;
    addResource(resources: Record<string, any> | Record<string, any>[], name: string, index: number): void;
    removeResource(resourceId: string | string[] | number | number[], name: string): void;
    getIndexFromResourceId(id: string | number, name?: string, resourceData?: ResourcesModel, event?: Record<string, any>, parentField?: string): number;
    resourceExpand(id: string | number, name: string, hide: boolean): void;
    resourceScroll(id: string | number, name: string): void;
    destroy(): void;
}
