import { WixPatternsContainer, QueryState, CollectionOptimisticSequenceExecutor } from '@wix/bex-core';
import { NestedCollectionNodeState } from './NestedCollectionNodeState';
import { NestedCollectionLevelDescriptor } from './NestedCollectionLevelDescriptor';
import { NodeCollection } from './types';
import { TypedEmitter } from '@wix/bex-core/events';
export interface NestedCollectionStateBaseParams {
    levels: NestedCollectionLevelDescriptor<any, any>[];
    query: QueryState<{}>;
    nodeCollection?: NodeCollection<any, any>;
}
export interface NestedCollectionStateParams extends NestedCollectionStateBaseParams {
    readonly container: WixPatternsContainer;
    readonly sequences: Map<string, CollectionOptimisticSequenceExecutor>;
}
export declare class NestedCollectionState {
    readonly container: WixPatternsContainer;
    readonly levels: NestedCollectionLevelDescriptor<any, any>[];
    isFetchAllAborted: boolean | null;
    _fetchAllTotal: number | undefined;
    expandAll: boolean;
    total: number;
    readonly root: NestedCollectionNodeState<any, any>;
    readonly query: QueryState<{}>;
    readonly sequences: Map<string, CollectionOptimisticSequenceExecutor>;
    readonly events: TypedEmitter<{
        dispose: (() => void) | undefined;
    }>;
    constructor(params: NestedCollectionStateParams);
    init(): () => void;
}
//# sourceMappingURL=NestedCollectionState.d.ts.map