import type { TableGroup, TableGroupLoadMoreDetail, TableLoadMoreMode, TableLoadMoreReason } from './table-types'; export interface TableGroupLoadControllerState { enabled: boolean; loadMoreMode: TableLoadMoreMode; loadMoreThreshold: number; containedScroll: boolean; groups: TableGroup[]; viewport: HTMLElement | null; sentinels: ReadonlyMap; loadingMoreLabel: string; endOfResultsLabel: string; rowsLoadedLabel: string; } export interface TableGroupLoadControllerOptions { state: () => TableGroupLoadControllerState; announce: (message: string) => void; request: (detail: TableGroupLoadMoreDetail) => void; } /** Owns request guards, announcements, and observation for independently loaded groups. */ export declare class TableGroupLoadController { private readonly options; readonly intersectionSupported: boolean; private connected; private intersectionObserver; private snapshots; private pending; constructor(options: TableGroupLoadControllerOptions); initialize(): void; connect(): void; disconnect(): void; refresh(): void; structureChanged(): void; dataChanged(): void; configurationChanged(): void; request(groupId: string, reason: TableLoadMoreReason): void; private createSnapshots; private snapshot; private disconnectObserver; } //# sourceMappingURL=table-group-load-controller.d.ts.map