import { ReactNode } from 'react';
import { ButtonProps } from '../../button/Button.types';
import { PrimitivePromptProps } from '../PrimitivePrompt';
import { PromptMedia } from '../helpers/promptMedia';
export type CriticalBannerProps = {
    title?: ReactNode;
    description: ReactNode;
    media?: PromptMedia;
    action?: Pick<ButtonProps, 'onClick' | 'href' | 'target'> & {
        label: ButtonProps['children'];
    };
    actionSecondary?: Pick<ButtonProps, 'onClick' | 'href' | 'target'> & {
        label: ButtonProps['children'];
    };
    sentiment?: Exclude<PrimitivePromptProps['sentiment'], 'proposition'>;
    /**
     * Controls whether the description and actions are visible, as a controlled component.
     * When collapsed with a title, only the title is shown.
     * When collapsed without a title, the description is trimmed to 2 lines.
     *
     * Note: On desktop (container width >= 768px), the banner is always expanded
     * regardless of this prop value.
     */
    expanded?: boolean;
    /**
     * Called when the user clicks the chevron toggle.
     * If not provided, the component will manage expanded state internally.
     */
    onToggle?: () => void;
} & Pick<PrimitivePromptProps, 'id' | 'className' | 'data-testid'>;
/**
 * A full-width, non-dismissible banner for critical messages such as account blocks or
 * time-sensitive actions that require immediate user attention.

 * @see {@link https://docs.wise.design/components/critical-banner Design Spec}
 */
export declare const CriticalBanner: ({ sentiment, title, description, media, action, actionSecondary, expanded: expandedProp, onToggle, id, className, "data-testid": testId, }: CriticalBannerProps) => import("react").JSX.Element;
export default CriticalBanner;
//# sourceMappingURL=CriticalBanner.d.ts.map