/**
 * @file DialogHeader.tsx
 * @input Uses React, useEffect, useRef, LayoutHeader, Button, Icon, Heading, Text, DialogContext
 * @output Exports DialogHeader component and DialogHeaderProps
 * @position Dialog header component; used with Dialog and Layout
 *
 * SYNC: When modified, update these files to stay in sync:
 * - /packages/core/src/Dialog/Dialog.doc.mjs
 * - /packages/core/src/Dialog/DialogHeader.test.tsx
 * - /packages/core/src/Dialog/index.ts
 * - /apps/storybook/stories/Dialog.stories.tsx
 * - /packages/cli/assets/templates/blocks/components/Dialog/ (showcase blocks)
 */
import { type ReactNode } from 'react';
import type { BaseProps } from '../BaseProps';
export interface DialogHeaderProps extends BaseProps<HTMLDivElement> {
    /** Ref forwarded to the root element */
    ref?: React.Ref<HTMLDivElement>;
    /**
     * The title of the dialog.
     * This title receives focus when the dialog opens for screen reader
     * accessibility, and names the parent Dialog via aria-labelledby unless the
     * consumer passes an explicit aria-label/aria-labelledby to the Dialog.
     */
    title: string;
    /**
     * Optional subtitle displayed below the title in smaller, secondary text.
     */
    subtitle?: string;
    /**
     * Callback fired when the dialog visibility changes.
     * Called with `false` when the close button is clicked.
     * If not provided, no close button will be rendered.
     */
    onOpenChange?: (isOpen: boolean) => unknown;
    /**
     * Content to render before the title (e.g., a back button).
     */
    startContent?: ReactNode;
    /**
     * Content to render after the title, before the close button (e.g., action buttons).
     */
    endContent?: ReactNode;
    /**
     * Adds a themed border at the bottom edge.
     * When false, spacing collapse is applied automatically for seamless visual flow.
     * Defaults to the parent Layout's `defaultHasDividers` context value.
     */
    hasDivider?: boolean;
}
/**
 * Header component designed specifically for Dialog.
 *
 * Renders a title that receives focus when a modal dialog opens (for screen reader accessibility)
 * and an optional close button. Inline documentation previews suppress this autofocus.
 * The title is an h2 element with tabIndex={-1} so it can be programmatically focused but
 * doesn't appear in the tab order. The title also names the parent Dialog via
 * aria-labelledby (unless the Dialog receives an explicit aria-label/aria-labelledby).
 *
 * Uses LayoutHeader internally for consistent styling with other layout headers.
 *
 * @example
 * ```
 * <Dialog isOpen={isOpen} onOpenChange={open => setIsOpen(open)}>
 *   <Layout
 *     header={<DialogHeader title="Modal Title" onOpenChange={open => setIsOpen(open)} />}
 *     content={<LayoutContent>Content</LayoutContent>}
 *     footer={<LayoutFooter hasDivider>Actions</LayoutFooter>}
 *   />
 * </Dialog>
 * ```
 */
export declare function DialogHeader({ title, subtitle, onOpenChange, startContent, endContent, hasDivider, xstyle, className, style, ref, ...rest }: DialogHeaderProps): import("react").JSX.Element;
export declare namespace DialogHeader {
    var displayName: string;
}
//# sourceMappingURL=DialogHeader.d.ts.map