/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
/**
 * @hidden
 */
export interface SlotID {
    resourceIndex: number;
    rangeIndex: number;
    index: number;
}
/**
 * @hidden
 */
export interface Rect {
    left: number;
    top: number;
    width: number;
    height: number;
}
/**
 * @hidden
 */
export interface SlotDirective {
    start: Date;
    end: Date;
    rect: Rect;
    id: SlotID;
    key: string;
    invalidate(): void;
}
/**
 * @hidden
 */
export interface ViewItem {
    item: any;
    index: number;
    rangeIndex: number;
    resourceIndex: number;
    rect: Rect;
}
/**
 * @hidden
 */
export interface ResourceGroup {
    hasSlots: boolean;
    registerSlot(slot: SlotDirective): void;
    unregisterSlot(slot: SlotDirective): void;
    registerItem(component: ViewItem): void;
    unregisterItem(component: ViewItem, id: SlotID): void;
    cleanRanges(): void;
}
