import { default as React } from 'react'; import { ButtonProps } from '../../Button/Button.models'; import { MenuProps } from '../../Menu/Menu'; type TilePropsBase = { /** The header for the `Tile` is made up of an image, title, and subtitle. */ header: { title: string; imgUrl?: string; subtitle?: string; }; /** Unique identifier for the `Tile`. */ id: string; /** The tabIndex is used to allow the `Tile` to have a focused state. */ tabIndex?: number; /** Optionally show a `Menu`. If this is undefined, then the `Menu` button will be hidden. */ menuProps?: MenuProps; /** Optionally show the `FormFooter` component. If this is undefined, then the `FormFooter` button will be hidden. */ buttons?: [ButtonProps] | [ButtonProps, ButtonProps]; /** Optionally add a custom class name */ className?: string; /** Optional prop to add a test id to the Tile for QA testing */ qaTestId?: string; }; type WithBody = TilePropsBase & { /** The body that appears in the center of the `Tile`. */ body: React.ReactNode; /** Optional subHeader that appears above the body. */ subHeader?: string; }; type WithoutBody = TilePropsBase & { body?: never; subHeader?: never; }; export type TileProps = WithBody | WithoutBody; declare const Tile: ({ header, subHeader, body, tabIndex, menuProps, buttons, className, qaTestId, }: TileProps) => React.JSX.Element; export default Tile;