import { HTMLAttributes, ReactNode } from 'react';
export interface ModalProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
    /** Body content rendered inside the modal content area */
    children?: ReactNode;
    /** Whether a close button is displayed in the top right corner */
    closeAction?: boolean;
    /** Eyebrow text above the headline */
    eyebrow?: string;
    /** Modal headline text — also used for aria-labelledby */
    headline?: string;
    /** Label for the primary action button */
    primaryActionLabel?: string;
    /** Label for the secondary action button (only rendered when primaryActionLabel is set) */
    secondaryActionLabel?: string;
    /** Whether the modal is open (adds tdds-modal--open) */
    isOpen?: boolean;
    /** Whether the button tray sticks to the bottom of the modal */
    isButtonTraySticky?: boolean;
    /** Whether the primary action button appears on the right */
    primaryActionOnRight?: boolean;
    /** Inverse colour treatment */
    inverse?: boolean;
    /** aria-label for the dialog — used when no headline is provided */
    ariaLabel?: string;
    /** Close icon — ReactNode (SVG) rendered inside the close IconButton */
    closeIcon?: ReactNode;
    /** Callback when the close button is clicked */
    onClose?: () => void;
    /** Callback when the primary action button is clicked */
    onPrimaryAction?: () => void;
    /** Callback when the secondary action button is clicked */
    onSecondaryAction?: () => void;
    /** Force focus state (Storybook / snapshot testing) */
    focused?: boolean;
}
//# sourceMappingURL=Modal.types.d.ts.map