import { type ComponentType, type PropsWithChildren, type ReactElement, type ReactNode } from "react"; export type IConfirmationProps = PropsWithChildren<{ title: string; callback: (confirm: boolean) => void; }>; export type ConfirmationComponent = ComponentType; export declare const Confirmation: ConfirmationComponent; export type IUseConfirmationProps = IConfirmationProps & { Component?: ConfirmationComponent; }; export interface IUseConfirmationResult { confirmation: ReactNode; setConfirmation: (confirmation: boolean) => void; } export type IUseConfirmation = (props: UseConfirmationProps) => IUseConfirmationResult; export declare function useConfirmation({ Component, callback, ...props }: UseConfirmationProps): IUseConfirmationResult; export type IConfirmationActionProps = PropsWithChildren<{ title: string; successMessage: string; confirmationMessage: string; onConfirm: () => Promise; onSuccess?: (result: Data) => void; }>; export type ConfirmationActionComponent = ComponentType>; export declare function ConfirmationAction(props: IConfirmationActionProps): ReactElement;