import type { CollectionState } from '@wix/bex-core';
import { ConditionalModalState, FiltersMap, KeyedItem, ReportBI } from '@wix/bex-core';
import { MessageModalLayoutProps } from '@wix/design-system';
import { ConfirmModalBIReporter } from './ConfirmModalBIReporter';
type Fade = 'static' | 'idle' | 'exit' | 'exiting';
export interface ActionCellAPI<T, F extends FiltersMap> {
    openConfirmModal: (props?: Partial<MessageModalLayoutProps>) => void;
    openConfirmDeleteModal: (props?: Partial<MessageModalLayoutProps>) => void;
    collection: CollectionState<T, F>;
    keyedItem: KeyedItem<T>;
}
export interface ItemActionsStateParams<T, F extends FiltersMap = FiltersMap> {
    fade: Fade;
    keyedItem: KeyedItem<T>;
    collection: CollectionState<T, F>;
    reportBi?: ReportBI;
}
export declare class ItemActionsState<T, F extends FiltersMap = FiltersMap> {
    keyedItem: KeyedItem<T>;
    fade: Fade;
    readonly collection: CollectionState<T, F>;
    readonly biReporter: ConfirmModalBIReporter | null;
    readonly confirmModal: ConditionalModalState<Partial<MessageModalLayoutProps>>;
    readonly actionCellAPI: ActionCellAPI<T, F>;
    constructor(params: ItemActionsStateParams<T, F>);
    openConfirmModal(props?: Partial<MessageModalLayoutProps>): void;
    openConfirmDeleteModal(props?: Partial<MessageModalLayoutProps>): void;
    onFadeStart(): void;
    onFadeDone(): void;
    setItemIfChanged(keyedItem: KeyedItem<T>): void;
}
export {};
//# sourceMappingURL=ItemActionsState.d.ts.map