/// <reference types="react" />
import { CollectionState, FiltersMap, KeyedItem, QueryState, TaskState } from '@wix/bex-core';
import { NestedTableLevelDescriptor } from './NestedTableLevelDescriptor';
import { NestedTableFlatModeState } from './NestedTableFlatModeState';
export interface NestedTableFlatDataItem<C extends string, T, F extends FiltersMap> {
    state: NestedTableFlatModeSectionState<C, T, F>;
    originalKeyedItem: KeyedItem<T>;
}
export type NestedTableFlatKeyedItem<C extends string, T, F extends FiltersMap> = KeyedItem<NestedTableFlatDataItem<C, T, F>>;
export interface NestedTableFlatModeSectionStateParams<C extends string, T, F extends FiltersMap> {
    readonly levelDescriptor: NestedTableLevelDescriptor<C, T, F>;
    readonly query: QueryState<{}>;
    readonly flatModeState: NestedTableFlatModeState<C>;
}
export interface NestedTableSectionStatePublicAPI<T, F extends FiltersMap> {
    /**
     * The collection of the section
     * @overrideType [CollectionState](./?path=/story/common-state--collectionstate)
     */
    readonly collection: CollectionState<T, F>;
}
export declare class NestedTableFlatModeSectionState<C extends string, T, F extends FiltersMap> implements NestedTableSectionStatePublicAPI<T, F> {
    collection: CollectionState<T, F>;
    readonly levelDescriptor: NestedTableLevelDescriptor<C, T, F>;
    readonly levelDescriptors: NestedTableLevelDescriptor<C, T, F>[];
    readonly initTask: TaskState<unknown>;
    constructor(params: NestedTableFlatModeSectionStateParams<C, T, F>);
    get query(): QueryState<F>;
    get columns(): Partial<Record<C, (row: T, rowNum: number) => import("react").ReactNode>> | undefined;
    get renderMainColumn(): import("./NestedTableNodeState").RenderMainColumn<T> | undefined;
    get breadcrumbs(): ((item: T) => {
        id: string;
        name: string;
    }[] | null | undefined) | undefined;
    get expandable(): ((item: T) => boolean) | undefined;
    init(): () => void;
}
//# sourceMappingURL=NestedTableFlatModeSectionState.d.ts.map