import { ReactNode } from 'react';
/**
* Layout presets for the canonical dialog header.
*
* - "inline": (default) icon on the LEFT, title + description stacked to
* its right. The classic apple-sheet banner with a status
* glyph beside the primary label. This is the house style for
* Spectre admin dialogs — compact and consistent across
* surfaces.
* - "centered": icon on top, title + description centered beneath. Reserved
* for hero-style modals where the dialog is a distinct,
* attention-grabbing moment (e.g. onboarding, large
* confirmation surfaces).
* - "plain": no icon, title + description only, left-aligned. For small
* modals where an icon would add more noise than clarity.
*/
export type GlassDialogHeaderVariant = "inline" | "centered" | "plain";
interface GlassDialogHeaderProps {
icon?: ReactNode;
title: ReactNode;
description?: ReactNode;
/** See {@link GlassDialogHeaderVariant}. Defaults to "inline". */
variant?: GlassDialogHeaderVariant;
/**
* @deprecated Use `variant` instead. Preserved so older callers keep
* working:
* - `align="center"` → `variant="centered"`
* - `align="left"` → `variant="inline"`
*/
align?: "left" | "center";
/**
* Optional trailing slot for inline / plain variants — e.g. a status pill
* or secondary button. Ignored for the centered variant.
*/
trailing?: ReactNode;
className?: string;
}
/**
* GlassDialogHeader — the canonical header slot. Always renders shadcn
* DialogTitle + DialogDescription so accessibility wiring is enforced.
*
* Examples:
*
* }
* title="Key generated"
* description="This key is shown only once."
* variant="inline"
* />
*
* }
* title="New application"
* description="Give your app a memorable name."
* // variant defaults to "centered"
* />
*/
export declare function GlassDialogHeader({ icon, title, description, variant, align, trailing, className, }: GlassDialogHeaderProps): import("react/jsx-runtime").JSX.Element;
export {};
//# sourceMappingURL=GlassDialogHeader.d.ts.map