import { ReactNode } from 'react'; import { ErrorAdapter } from '../PageForm/typesErrorAdapter'; import { ITableColumn } from '../PageTable/PageTableColumn'; export type StatusWithMessageAndUrl = { message: string; url: string; }; export interface BulkActionDialogProps { title: string; description?: ReactNode | string; items: T[]; keyFn: (item: T) => string | number; actionColumns: ITableColumn[]; actionFn: (item: T, signal: AbortSignal) => Promise; onComplete?: (successfulItems: T[]) => void; onClose?: (status: 'success' | 'failures' | 'canceled', successfulItems: T[], failedItems: T[], canceledItems: T[]) => void; processingText?: string; isDanger?: boolean; errorAdapter?: ErrorAdapter; statusParser?: (response: unknown) => null | StatusWithMessageAndUrl; } export declare function BulkActionDialog(props: BulkActionDialogProps): import("react/jsx-runtime").JSX.Element; export declare function useBulkActionDialog(defaultErrorAdapter?: ErrorAdapter, statusParser?: (response: unknown) => null | StatusWithMessageAndUrl): import("react").Dispatch | undefined>>;