import React from "react"; import type { default as ReactMarkdownType } from "react-markdown"; import type { defaultUrlTransform as DefaultUrlTransformType } from "react-markdown"; import type remarkGfmType from "remark-gfm"; type ReactMarkdownModule = { default: typeof ReactMarkdownType; defaultUrlTransform: typeof DefaultUrlTransformType; }; export declare let markdownModule: ReactMarkdownModule | null; export declare let remarkGfmFn: typeof remarkGfmType | null; export declare function loadMarkdown(): void; export declare function onMarkdownReady(fn: () => void): () => void; type ShikiHighlighter = { codeToHtml: (code: string, options: { lang: string; themes: { light: string; dark: string; }; defaultColor?: false | "light" | "dark"; }) => string | Promise; getLoadedLanguages: () => string[]; }; export declare function loadHighlighter(): Promise; export declare const TextStreamingContext: React.Context; export declare function HighlightedCodeBlock({ code, lang, }: { code: string; lang: string; }): React.JSX.Element; export declare function markdownUrlTransform(value: string): string; export declare function extractCodeText(child: React.ReactNode): string; export declare const markdownComponents: { a(props: React.AnchorHTMLAttributes): React.JSX.Element; pre(props: React.HTMLAttributes): React.JSX.Element; }; export declare function renderMarkdownToClipboardHtml(markdown: string): string | null; export declare function useSmoothStreamingText(targetText: string, streaming: boolean, resetKey: string): string; export declare function useMarkdownReady(): boolean; export declare const MemoizedMarkdownBlock: React.MemoExoticComponent<({ blockText, }: { blockText: string; }) => React.JSX.Element | null>; export declare function SmoothMarkdownText({ text, streaming, resetKey, statusType, }: { text: string; streaming: boolean; resetKey: string; statusType?: string; }): React.JSX.Element; export declare function MarkdownText(): React.JSX.Element; export {}; //# sourceMappingURL=markdown-renderer.d.ts.map