import rehypePrettyCode, { type Options } from "rehype-pretty-code"; import rehypeSlug from "rehype-slug"; import remarkGfm from "remark-gfm"; import rehypeAutolinkHeadings from "rehype-autolink-headings"; import type { Root as MdastRoot } from "mdast"; import type { Root as HastRoot } from "hast"; import type { Transformer } from "unified"; type MdastTransformer = Transformer; type HastTransformer = Transformer; export declare const baseRemarkPlugins: (typeof remarkGfm | typeof remarkRemovePrettierIgnore)[]; export declare const baseRehypePlugins: (typeof rehypeSlug | (Options | typeof rehypePrettyCode)[] | typeof rehypeAutolinkHeadings | typeof rehypeHandleMetadata)[]; /** * Removes `` and `// prettier-ignore` from code blocks * before they are converted to HTML for syntax highlighting. * * We do this because sometimes we want to force a line break in code blocks, but * prettier removes them, however, we don't want to include the ignore statement * in the final code block. * * One caveat is that if you did want to include the ignore statement in the final * code block, you'd have to do some hacky stuff like including it in the comment * itself and checking for it in the code block, but that's not something we need * at the moment. */ declare function remarkRemovePrettierIgnore(): MdastTransformer; /** * Adds `data-metadata` to `
` elements that contain a `
`. * We use this to style elements within the `
` differently if a `
` * is present. */ declare function rehypeHandleMetadata(): HastTransformer; export {};