import { type FunctionComponent } from 'react'; import { ActionListProps, ActionListGroupProps, ActionListItemProps, ButtonProps, CardProps, CardBodyProps, CardFooterProps, ExpandableSectionProps, SpinnerProps } from '@patternfly/react-core'; import type { MarkdownContentProps } from '../MarkdownContent'; export interface ToolCallProps { /** Title text for the tool call. */ titleText: string; /** Loading text for the tool call. */ loadingText?: string; /** Flag indicating whether the tool call is loading or not. */ isLoading?: boolean; /** Additional props for the spinner that is rendered when isLoading is true. */ spinnerProps?: SpinnerProps; /** Content to render within an expandable section. */ expandableContent?: React.ReactNode; /** Flag indicating whether the expandable content is expanded by default. */ isDefaultExpanded?: boolean; /** Text content for the "run" action button. */ runButtonText?: string; /** Additional props for the "run" action button. */ runButtonProps?: ButtonProps; /** Additional props for the "run" action list item. */ runActionItemProps?: ActionListItemProps; /** Text content for the "cancel" action button. */ cancelButtonText?: string; /** Additional props for the "cancel" action button. */ cancelButtonProps?: ButtonProps; /** Additional props for the "cancel" action list item. */ cancelActionItemProps?: ActionListItemProps; /** Custom actions to render, typically a "cancel" and "run" action. This will override the default actions. */ actions?: React.ReactNode[]; /** Additional props for the action list */ actionListProps?: ActionListProps; /** Additional props for the action list group. */ actionListGroupProps?: ActionListGroupProps; /** Additional props for all action list items. */ actionListItemProps?: ActionListItemProps; /** Additional props for the card. */ cardProps?: CardProps; /** Additional props for the card body that contains the main tool call content. */ cardBodyProps?: CardBodyProps; /** Additional props for the card footer that contains the tool call actions. */ cardFooterProps?: CardFooterProps; /** Additional props for the expandable section when expandableContent is passed. */ expandableSectionProps?: Omit; /** Whether to enable markdown rendering for titleText. When true, titleText will be parsed as markdown. */ isTitleMarkdown?: boolean; /** Whether to enable markdown rendering for expandableContent. When true and expandableContent is a string, it will be parsed as markdown. */ isExpandableContentMarkdown?: boolean; /** Props passed to MarkdownContent component when markdown is enabled */ markdownContentProps?: Omit; /** Whether to retain styles in the MarkdownContent component. Defaults to false. */ shouldRetainStyles?: boolean; } export declare const ToolCall: FunctionComponent; export default ToolCall;