import { CollectionState, FiltersMap, WixPatternsContainer } from '@wix/bex-core';
import { ToolbarCollectionState, ToolbarCollectionStateParamsInitParams } from './ToolbarCollectionState';
import { GridBaseState } from './GridBaseState';
import { GridSectionsState } from '../components/GridSections/GridSectionsState';
import { ICollectionComponentState } from './ICollectionComponentState';
import { GridSizePreset } from './gridSizePresets';
export interface GridStateParams<T, F extends FiltersMap> {
    readonly collection: CollectionState<T, F>;
    readonly container: WixPatternsContainer;
    readonly toolbar?: ToolbarCollectionState<T, F>;
}
export interface GridStateInitParams extends ToolbarCollectionStateParamsInitParams {
}
export interface GridStatePublicAPI<T, F extends FiltersMap> {
    /**
     * Underlying [CollectionState](./?path=/story/common-state--collectionstate) instance
     * @external
     */
    readonly collection: CollectionState<T, F>;
    /**
     * Underlying [ToolbarCollectionState](./?path=/story/common-state--toolbarcollectionstate) instance
     * @external
     */
    readonly toolbar: ToolbarCollectionState<T, F>;
    /**
     * Reset active filters & sorting and adds new items to the collection.
     * @param items - new items to add to the collection
     * @external
     */
    onAddItemActionComplete(items: T[]): void;
}
export declare class GridState<T, F extends FiltersMap> implements GridStatePublicAPI<T, F>, ICollectionComponentState {
    readonly toolbar: ToolbarCollectionState<T, F>;
    readonly container: WixPatternsContainer;
    readonly collection: CollectionState<T, F>;
    readonly _subGrids: GridBaseState<T, F>[];
    _sizePreset: GridSizePreset | undefined;
    _sections?: GridSectionsState<T, F>;
    constructor(params: GridStateParams<T, F>);
    init(params: GridStateInitParams): () => void;
    onAddItemActionComplete: (items: T[]) => Promise<void>;
}
//# sourceMappingURL=GridState.d.ts.map