import { ToolbarBIReporter } from './ToolbarBIReporter';
import { BulkActionModalState, FiltersMap, KeyedItem, MultiCollectionSupport, Translate } from '@wix/bex-core';
import { SidePanelsState } from './SidePanelsState';
import { RefObject } from 'react';
interface SelectAllLocationParams {
    location: 'TableToolbar CTA' | 'Checkbox';
}
export interface BulkActionToolbarStateParams<T, F extends FiltersMap> {
    readonly toolbarBIReporter: ToolbarBIReporter<T, F>;
    readonly panels: SidePanelsState;
    readonly multi: MultiCollectionSupport<F>;
    readonly translate: Translate;
    readonly scrollToTop: () => unknown;
}
export type SelectionDisabledProp = ((rowData: KeyedItem<unknown>) => boolean | void) | boolean;
export type CheckboxTooltipContentProp = (rowData: KeyedItem<unknown>) => string | undefined;
export declare class BulkActionToolbarState<T, F extends FiltersMap> {
    readonly toolbarBIReporter: ToolbarBIReporter<T, F>;
    readonly panels: SidePanelsState;
    readonly multi: MultiCollectionSupport<F>;
    readonly modals: BulkActionModalState;
    readonly bulkSelectionCheckboxRef: RefObject<HTMLInputElement>;
    selectionDisabledProp: SelectionDisabledProp;
    checkboxTooltipContentProp?: CheckboxTooltipContentProp;
    shouldIncludeCollection?: (collection: any) => boolean;
    selectionDisabledFn: ({ key }: {
        key: string;
    }) => boolean | (() => boolean);
    getCheckboxTooltipContent: ({ key, }: {
        key: string;
    }) => string | undefined;
    constructor(params: BulkActionToolbarStateParams<T, F>);
    maxSelection?: number;
    _selectionStartTime: number;
    private get filteredCollections();
    get selectedIds(): string[];
    get selectedValues(): unknown[];
    get uncheckedValues(): unknown[];
    get selectedCount(): number;
    get selectedCountOrTotal(): number;
    get hasClickableRows(): boolean;
    get allSelected(): boolean;
    get reachedMaxSelection(): boolean;
    get total(): number;
    isChecked(key: string): boolean;
    clearSelection: () => void;
    isRowCheckboxDisabled: (row: {
        key: string;
    }) => boolean | (() => boolean);
    toggleSelectAll: (params: SelectAllLocationParams) => void;
    selectAllUpToMaxSelection(): void;
    selectAll({ location }: SelectAllLocationParams): void;
    deselectAll({ location }: SelectAllLocationParams): void;
    _getCollectionOf(id: string): import("@wix/bex-core").CollectionState<unknown, F> | undefined;
    selectOne(id: string): void;
    deselectOne(id: string): void;
    init(): () => void;
}
export {};
//# sourceMappingURL=BulkActionToolbarState.d.ts.map