import { ErrorAdapter } from '../PageForm/typesErrorAdapter';
import { ITableColumn } from '../PageTable/PageTableColumn';
import { BulkActionDialogProps, StatusWithMessageAndUrl } from './BulkActionDialog';
export interface BulkConfirmationDialog<T extends object> {
    title: string;
    prompt?: React.ReactNode;
    alertPrompts?: string[];
    isPlain?: boolean;
    items: T[];
    isItemNonActionable?: (item: T) => string | undefined;
    keyFn: (item: T) => string | number;
    confirmationColumns: ITableColumn<T>[];
    onConfirm: () => void;
    onClose?: () => void;
    confirmText: string;
    actionButtonText: string;
    isDanger?: boolean;
    errorAdapter?: ErrorAdapter;
}
export declare function BulkConfirmationDialog<T extends object>(props: BulkConfirmationDialog<T>): import("react/jsx-runtime").JSX.Element;
export declare function useBulkConfirmation<T extends object>(errorAdapter?: ErrorAdapter, statusParser?: (response: unknown) => null | StatusWithMessageAndUrl): (options: Omit<BulkConfirmationDialog<T>, "onConfirm" | "onClose"> & Omit<BulkActionDialogProps<T>, "onClose">) => void;
