import { FiltersMap, ReportBI } from '@wix/bex-core';
import { CollectionViewsState } from './CollectionViewsState';
import { PrivateView, ViewActionNameBI, ViewBase } from '../model';
export interface CollectionViewsStateBIReporterParams<T, F extends FiltersMap> {
    reportBI: ReportBI;
    collectionViewState: CollectionViewsState<T, F>;
}
export declare class CollectionViewsStateBIReporter<T, F extends FiltersMap> {
    readonly collectionViewState: CollectionViewsState<T, F>;
    readonly reportBI: ReportBI;
    constructor(params: CollectionViewsStateBIReporterParams<T, F>);
    init(): () => void;
    _getViewChanges(view1: ViewBase<F>, view2: ViewBase<F>): string;
    _saveViewBI(view: PrivateView<F>, saveType: string, oldView?: PrivateView<F>): void;
    _actionSelectedBI(actionIndex: number, actionName: ViewActionNameBI): void;
    saveViewChangesSelectedBI(): void;
    saveViewChangesBI(view: PrivateView<F>, oldView?: PrivateView<F>): void;
    saveNewViewSelectedBI(): void;
    saveNewViewBI(view: PrivateView<F>): void;
    deleteViewSelectedBI(): void;
    deleteViewBI(view: PrivateView<F>): void;
    renameViewSelectedBI(): void;
    renameViewBI(view: PrivateView<F>, oldName: string): void;
    setAsDefaultViewSelectedBI(isDefault: boolean): void;
    setAsDefaultViewBI(isDefault: boolean, view: PrivateView<F>): void;
    undoActionBI({ actionName, viewId, newName, }: {
        actionName: ViewActionNameBI;
        viewId: string;
        newName?: string;
    }): void;
    tryAgainBI({ actionName }: {
        actionName: ViewActionNameBI;
    }): void;
    errorBI({ actionName, createdAt, viewId, }: {
        actionName: ViewActionNameBI;
        createdAt: number;
        viewId: string;
    }): void;
    clickOnViewDropdownBI(): void;
}
//# sourceMappingURL=CollectionViewsStateBIReporter.d.ts.map