import * as React from "react";
import * as DialogPrimitive from "@radix-ui/react-dialog";
/**
* Action button definition for the Dialog Config API.
*/
export interface DialogAction {
/** Button label text */
label: string;
/** Click handler */
onClick?: () => void;
/** Visual variant: "default" renders primary, "outline" renders secondary */
variant?: "default" | "outline" | "destructive" | "ghost";
/** When true, this button also closes the dialog */
closeOnClick?: boolean;
}
/**
* Props for the ZeroShot Dialog component.
*
* @example Compositional API:
* ```tsx
*
* ```
*
* @example Config API (AI-optimized):
* ```tsx
*
* ```
*/
export interface DialogProps extends React.ComponentPropsWithoutRef {
/**
* Config API: Dialog title text. When provided, auto-renders DialogHeader with DialogTitle.
*/
title?: string;
/**
* Config API: Dialog description text. Renders below the title.
*/
description?: string;
/**
* Config API: Action buttons rendered in the footer.
* @example actions={[{ label: "OK", onClick: handleOk }]}
*/
actions?: DialogAction[];
/**
* Additional className applied to the DialogContent wrapper.
*/
contentClassName?: string;
}
declare const Dialog: React.ForwardRefExoticComponent>;
declare const DialogTrigger: React.ForwardRefExoticComponent>;
declare const DialogPortal: React.FC;
declare const DialogClose: React.ForwardRefExoticComponent>;
declare const DialogOverlay: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>;
declare const DialogContent: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>;
declare const DialogHeader: {
({ className, ...props }: React.HTMLAttributes): import("react/jsx-runtime").JSX.Element;
displayName: string;
};
declare const DialogFooter: {
({ className, ...props }: React.HTMLAttributes): import("react/jsx-runtime").JSX.Element;
displayName: string;
};
declare const DialogTitle: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>;
declare const DialogDescription: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>;
export { Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription, };
//# sourceMappingURL=dialog.d.ts.map