import { ComponentPropsWithRef, CSSProperties, ElementType } from 'react'; import { ButtonProps } from '../Button/Button'; export type BillboardIconColor = 'success' | 'caution' | 'destroy' | 'info'; export type BillboardImage = Readonly<{ src: string; alt: string; imageContainerStyle?: Readonly; }>; type Action = ButtonProps & Readonly<{ label: string; 'data-testid'?: string; children?: 'never'; }>; type HTMLDivProps = ComponentPropsWithRef<'div'>; export type BillboardProps = HTMLDivProps & { color?: BillboardIconColor; /** Add margin with spacing design tokens: `ccMargin="none xl l s"` */ ccMargin?: string; /** Icon from our MDI icon set - overwritten by `image`, if present */ iconName?: string; /** Body text below the title */ message?: string; /** Top button. [Button](../?path=/docs/button--docs) props. */ primaryAction?: Action; /** Bottom button - always `subtle`. [Button](../?path=/docs/button--docs) props. */ secondaryAction?: Action; /** Heading text */ title?: string; /** Image source, alt text, image container style */ image?: BillboardImage; }; /** * Billboard renders any combination of an icon/image, title, message, and action buttons. * - Use title case for the `title` (e.g., "Something Went Wrong", not "Something went wrong"). * - Use `outline` icon variants in Billboard where possible. * - If the `message` is long enough, set a `max-width` by extending Billboard as a `styled-component`: `const StyledBillboard = styled(Billboard)({ maxWidth: '400px'; margin: 0 auto; });` * - Target the `image.imageContainerStyle` prop to style the image container to best accommodate your image's aspect ratio. */ export declare function Billboard({ image, ccMargin, color, iconName, message, primaryAction, secondaryAction, title, ...props }: BillboardProps): import("react/jsx-runtime").JSX.Element; export default Billboard;