import { ReactNode } from 'react';
export type PromoBannerType = 'monochrome' | 'branded';
export type PromoBannerRadius = 'rounded' | 'none';
export type PromoBannerSize = 'xs' | 'small';
export type PromoBannerVariant = 'static' | 'interactive';
export type PromoBannerNavigationType = 'internal' | 'external';
interface PromoBannerBase {
    /** Label text to display within the PromoBanner */
    label: ReactNode;
    /** Accessible label for the leading icon */
    a11yLabel?: string;
    /** Optional leading icon (pass an SVG ReactNode) */
    icon?: ReactNode;
    /** Border radius style */
    radius?: PromoBannerRadius;
    /** Inverse colour treatment */
    inverse?: boolean;
    /** Additional className on the root element */
    className?: string;
}
export interface PromoBannerStaticProps extends PromoBannerBase {
    /** Static variant renders a non-interactive div */
    variant: 'static';
    /** Type affecting the background — only applies for static variant */
    type: PromoBannerType;
    navigationType?: never;
    size?: never;
    href?: never;
    onClick?: never;
    focused?: never;
    /** Chevron icon — not used for static variant */
    chevronIcon?: never;
}
export interface PromoBannerInteractiveProps extends PromoBannerBase {
    /** Interactive variant renders a button or anchor with chevron */
    variant: 'interactive';
    /** Navigation type — internal renders a button, external renders an anchor */
    navigationType?: PromoBannerNavigationType;
    /** Size of the interactive promo banner */
    size?: PromoBannerSize;
    /** URL for external navigation type */
    href?: string;
    /** Click handler */
    onClick?: () => void;
    /** Force focus state (Storybook / snapshot testing) */
    focused?: boolean;
    /** Chevron icon — rendered at the trailing position. Pass an SVG ReactNode. */
    chevronIcon?: ReactNode;
    type?: never;
}
export type PromoBannerProps = PromoBannerStaticProps | PromoBannerInteractiveProps;
export {};
//# sourceMappingURL=PromoBanner.types.d.ts.map