import { FiltersMap } from '@wix/bex-core';
import { type KanbanState } from './KanbanState';
export declare enum KanbanCtaType {
    PRIMARY_BUTTON = "Primary Button",
    SECONDARY_DROPDOWN = "Secondary Dropdown",
    MORE_ACTIONS_OPTION = "More Actions Option"
}
export declare class KanbanStateBIReporter<T, S, F extends FiltersMap> {
    readonly kanbanState: KanbanState<T, S, F>;
    appLoaded?: () => void;
    private _startTime;
    constructor(kanbanState: KanbanState<T, S, F>);
    get reportBi(): import("@wix/bex-core").ReportBI;
    get toolbar(): import("..").ToolbarCollectionState<T, F>;
    init(): void;
    reportOnLoadEnd(loadingTime: number): void;
    reportSearchTriggered: (searchTerm: string) => () => void;
    reportDragStart: ({ itemId, itemIndex, stageId, dragAndDropID, }: {
        itemId: string;
        itemIndex: number;
        stageId: string;
        dragAndDropID: string;
    }) => void;
    reportDragEnd: ({ itemId, itemIndexBefore, itemIndexAfter, stageIdBefore, stageIdAfter, dragAndDropID, endType, }: {
        itemId: string;
        itemIndexBefore: number;
        itemIndexAfter: number;
        stageIdBefore: string;
        stageIdAfter: string;
        dragAndDropID: string;
        endType: 'drop succeeded' | 'drop back' | 'drag disabled';
    }) => void;
    reportStageCTAClicked: ({ ctaName, ctaType, stageId, stageIndex, stageName, }: {
        ctaName: string;
        ctaType: 'Primary Button' | 'Secondary Dropdown';
        stageId: string;
        stageIndex: number;
        stageName: string;
    }) => void;
    reportCardCTAClicked: ({ itemId, itemIndex, ctaName, ctaType, ctaIndex, numCtas, stageId, stageIndex, stageName, }: {
        itemId: string;
        itemIndex: number;
        ctaName: string;
        ctaType: KanbanCtaType;
        ctaIndex?: number | undefined;
        numCtas?: number | undefined;
        stageId: string;
        stageIndex: number;
        stageName: string;
    }) => void;
    private getTotalCardsCount;
    private getStageCardCounts;
    private getStageType;
    initAdditionalFeaturesAvailability(): void;
}
//# sourceMappingURL=KanbanStateBIReporter.d.ts.map