import { FiltersMap, KeyedItem } from '@wix/bex-core';
import { TableState } from '../../state';
import { GroupBy, RenderSection, Section } from '../CollectionSectionHeader';
export declare class TableSectionsState<T, F extends FiltersMap> {
    table: TableState<T, F>;
    groupBy: GroupBy<T>;
    renderSection: RenderSection<T>;
    constructor(table: TableState<T, F>, groupBy: GroupBy<T>, renderSection: RenderSection<T>);
    private generateSectionId;
    private get computeSectionData();
    get sectionCounts(): Map<string, {
        count: number;
        isComplete: boolean;
    }>;
    get sectionItems(): Map<string, T[]>;
    get sectionsKeyedItems(): KeyedItem<T>[];
    getSectionWithCount(sectionKeyedItem: KeyedItem<T>): {
        sectionId: string;
        section: Section & {
            count: number;
            hasMore: boolean;
            items: T[];
        };
    };
    isSectionRow(keyedItem: KeyedItem<T>): boolean;
    isInvisibleRow(keyedItem: KeyedItem<T>): boolean;
}
//# sourceMappingURL=TableSectionsState.d.ts.map