/**
 * @file useImperativeAlertDialog.tsx
 * @input Uses React, AlertDialog
 * @output Exports useImperativeAlertDialog hook
 * @position Utility hook; wraps AlertDialog with imperative show/hide API
 *
 * SYNC: When modified, update these files to stay in sync:
 * - /packages/core/src/AlertDialog/index.ts (exports)
 * - /packages/core/src/AlertDialog/AlertDialog.doc.mjs
 * - /apps/storybook/stories/AlertDialog.stories.tsx
 */
import { type ReactNode } from 'react';
import { type AlertDialogProps } from './AlertDialog';
type AlertDialogOptions = Omit<AlertDialogProps, 'isOpen' | 'onOpenChange'>;
export interface ImperativeAlertDialogReturn {
    /** Show the alert dialog. */
    show: (options: AlertDialogOptions) => void;
    /** Hide the alert dialog. */
    hide: () => void;
    /** Whether the dialog is currently open. */
    isOpen: boolean;
    /** Render this in your JSX tree. */
    element: ReactNode;
}
/**
 * Imperative alert dialog — show/hide without managing state.
 *
 * @example
 * ```
 * const alert = useImperativeAlertDialog();
 * const handleDelete = () => {
 *   alert.show({
 *     title: 'Delete item?',
 *     description: 'This action cannot be undone.',
 *     actionLabel: 'Delete',
 *     onAction: async () => { await deleteItem(); alert.hide(); },
 *   });
 * };
 * return (
 *   <>
 *     <button onClick={handleDelete}>Delete</button>
 *     {alert.element}
 *   </>
 * );
 * ```
 */
export declare function useImperativeAlertDialog(): ImperativeAlertDialogReturn;
export {};
//# sourceMappingURL=useImperativeAlertDialog.d.ts.map