import { type ConfirmationItem } from '../../Button/ButtonComponents/ConfirmationButton' export type BreadcrumbType = { /** Breadcrumb name */ name?: string /** Breadcrumb link url */ link: string /** Optional Breadcrumb type. This is used for specific checks while updating breadcrumbs. */ changeType?: 'rootLevel' | 'tab' /** Optional icon to be shown next to the breadcrumbs */ showIcon?: boolean } type BackButtonProps = { text?: string confirmation?: Omit & { confirmCallout?: () => void } } export type BreadcrumbsProps = { /** Array of breadcrumbs to display. Includes a link url and a name. */ breadcrumbs: BreadcrumbType[] /** This function should be used to set the breadcrumbs state in the consuming app and navigating to the correct page. */ callout: (breadcrumb: BreadcrumbType) => void /** Optional character limit for long breadcrumb names. This utilizes trimText to cut the text and add an ellipsis. */ characterLimit?: number /** Optional back button props to overwrite back button with custom text and to allow a confirmation experience*/ backButtonProps?: BackButtonProps /** Length of the TextUnderline's truncated text. This will affect both the mobile and desktop breadcrumbs. */ textUnderlineCharacterLimit?: number /** Optional prop to add a test id to the Breadcrumbs for QA testing */ qaTestId?: string }