import type { TableLoadMoreDetail, TableLoadMoreMode, TableLoadMoreReason } from './table-types'; export interface TableLoadControllerState { lazyLoading: boolean; loadMoreMode: TableLoadMoreMode; hasMore: boolean; loadingMore: boolean; loadMoreError: string | undefined; loadIdentity: string | number; loadMoreThreshold: number; containedScroll: boolean; loadingMoreLabel: string; endOfResultsLabel: string; rowsLoadedLabel: string; loadedRowCount: number; viewport: HTMLElement | null; sentinel: HTMLElement | null; } export interface TableLoadControllerOptions { state: () => TableLoadControllerState; announce: (message: string) => void; request: (detail: TableLoadMoreDetail) => void; } /** Owns incremental-loading request guards, announcements, and observation. */ export declare class TableLoadController { private readonly options; readonly intersectionSupported: boolean; private connected; private intersectionObserver; private observedSentinel; private requestPending; private requestedRowCount; private previousLoadedRowCount; constructor(options: TableLoadControllerOptions); initialize(): void; connect(): void; disconnect(): void; refresh(): void; structureChanged(): void; dataChanged(): void; identityChanged(): void; configurationChanged(): void; loadingChanged(loading: boolean): void; errorChanged(error: string | undefined): void; hasMoreChanged(hasMore: boolean, hadMore: boolean): void; request(reason: TableLoadMoreReason): void; private resetRequest; private disconnectObserver; } //# sourceMappingURL=table-load-controller.d.ts.map