import React, { type ComponentProps, type ComponentType, type ElementType } from 'react'; import { type Components, type ExtraProps } from 'react-markdown'; type ToolComponents = { [key in string]?: ComponentType<{ data: string; fallback: React.ReactNode; }>; }; type ToolComponent = NonNullable; export type ToolComponentProps = ToolComponent extends ComponentType ? P : never; type MarkdownComponents = Components; type BaseDefaultPreProps = ComponentProps<'pre'> & ExtraProps; type DefaultPreProps = BaseDefaultPreProps & { Pre?: ComponentType | ElementType; }; type BaseDefaultCodeProps = ComponentProps<'code'> & ExtraProps & { language?: string; inline?: boolean; }; type DefaultCodeProps = BaseDefaultCodeProps & { Code?: ComponentType | ElementType; SyntaxHighlighter?: ComponentType; }; declare const DefaultComponents: { readonly pre: (props: DefaultPreProps) => import("react/jsx-runtime").JSX.Element; readonly code: (props: DefaultCodeProps) => import("react/jsx-runtime").JSX.Element; }; interface AIMarkdown { (props: { children: string; toolComponents?: ToolComponents; markdownComponents?: MarkdownComponents; }): JSX.Element; default: typeof DefaultComponents; } export declare const AIMarkdown: AIMarkdown; export {}; //# sourceMappingURL=ai-markdown.d.ts.map