import { CollectionState, FiltersMap, ReportBI } from '@wix/bex-core';
import { ToolbarCollectionState } from './ToolbarCollectionState';
export type CTAClickedParams = {
    location: ButtonLocations;
    ctaIndex: number;
    ctaName: string;
    moreActionsIndex?: number;
    numCtas: number;
    itemId?: string;
    itemIndex?: number;
    componentId?: string;
    appId?: string;
};
export type ButtonLocations = 'multiBulkActionToolbar' | 'bulkActionToolbar' | 'actionCell';
export interface ToolbarBIReporterParams<T, F extends FiltersMap> {
    readonly collection: CollectionState<T, F>;
    readonly toolbar: ToolbarCollectionState<T, F>;
    readonly reportBi: ReportBI;
}
export declare class ToolbarBIReporter<T, F extends FiltersMap> {
    readonly collection: CollectionState<T, F>;
    readonly toolbar: ToolbarCollectionState<T, F>;
    readonly reportBi: ReportBI;
    constructor(params: ToolbarBIReporterParams<T, F>);
    ctaClicked({ location, ctaIndex, ctaName, moreActionsIndex, numCtas, itemId, itemIndex, componentId, appId, }: CTAClickedParams): void;
    itemSelectionToggledStarted({ itemId, clickType, }: {
        itemId: string;
        clickType: 'Selection' | 'Deselection';
    }): () => void;
    selectAllToggledStart({ location, }: {
        location?: 'TableToolbar CTA' | 'Checkbox';
    }): () => void;
    onAddItemClick: (origin?: string) => void;
    onPrimaryActionButtonClick: () => void;
    loadStart: () => void;
    loadEnd: (startTime: DOMHighResTimeStamp) => void;
    newItemCreationEnd: (items: T[]) => void;
}
//# sourceMappingURL=ToolbarBIReporter.d.ts.map