import type { Ref, MouseEventHandler } from 'react'; import type { HeadingTag, NoChildrenProp, TestIdProp, WithAttributes } from '../../types'; import { StyledBanner, StyledBannerMessageList } from './Banner.styles'; export { StyledBanner, StyledBannerMessageList }; export interface BannerHandleValue { /** Used to apply focus to the banner via an imperative handle. */ focus: () => void; } type Label = string | { text: string; onClick?: MouseEventHandler; href?: string; }; export interface BannerMessage { label: Label | Label[]; description?: string; action?: { text: string; onClick?: MouseEventHandler; href?: string; }; items?: (BannerMessage | string)[]; } export type BannerProps = WithAttributes<'div', TestIdProp & NoChildrenProp & { /** Controls the styling of the Banner. */ variant: 'urgent' | 'warning' | 'success' | 'info' | 'ai'; /** Custom heading text. Default varies by variant. */ headingText?: string; /** * The heading tag to render the provided heading as. This is agnostic to the styling of the heading. * @default 'h3' */ headingTag?: HeadingTag; /** * Pass one or more descriptive messages to inform the user * @default [] */ messages?: (string | BannerMessage)[]; /** Rich text content to render within banner. */ content?: string; /** Callback when user explicitly dismisses the Banner. */ onDismiss?: MouseEventHandler; /** Ref that can be used to access the imperative handle. */ handle?: Ref; }>; declare const _default: import("react").ForwardRefExoticComponent & import("react").RefAttributes> & { getTestIds: (testIdProp?: TestIdProp["testId"]) => import("../../types").TestIdsRecord; }; export default _default; //# sourceMappingURL=Banner.d.ts.map