import type { ConfirmOptions, ConfirmState } from "./types.js";
export interface UseConfirmActionReturn {
    /**
     * The pending confirmation state, or `null` when no confirmation
     * is active. Pass this to a `ConfirmDialog` component to render
     * the dialog UI.
     */
    readonly confirmState: ConfirmState | null;
    /**
     * Trigger a confirmation prompt. Returns a promise that resolves
     * to `true` when confirmed, `false` when cancelled.
     *
     * @example
     * ```tsx
     * const confirmed = await confirm({
     *   title: "Delete agent?",
     *   description: "This action cannot be undone.",
     *   confirmLabel: "Delete",
     *   variant: "destructive",
     * });
     * if (confirmed) await deleteAgent();
     * ```
     */
    readonly confirm: (options: ConfirmOptions) => Promise<boolean>;
    /** Accept the pending confirmation. */
    readonly handleConfirm: () => void;
    /** Dismiss the pending confirmation. */
    readonly handleCancel: () => void;
}
/**
 * State management hook for confirmation dialogs.
 *
 * Provides an imperative `confirm()` function that returns a promise,
 * paired with `confirmState` for rendering a `ConfirmDialog`.
 *
 * Separates the state logic (this hook) from the visual presentation
 * (ConfirmDialog component) following the headless-first architecture
 * (DD-003).
 */
export declare function useConfirmAction(): UseConfirmActionReturn;
//# sourceMappingURL=useConfirmAction.d.ts.map