import * as url from 'url'; import * as next_link_js from 'next/link.js'; import * as react from 'react'; import { FC, JSX, ComponentPropsWithoutRef } from 'react'; import * as next_image_js from 'next/image.js'; import { MDXWrapper } from '../types.js'; import { ImageZoom } from './components/image-zoom.js'; import { Anchor } from './mdx-components/anchor.js'; import 'mdast'; import 'next'; import 'zod'; import '../server/schemas.js'; import './lib/index.js'; import 'rehype-katex/lib/index.js'; import 'better-react-mathjax'; import 'rehype-pretty-code'; import '../types.generated.js'; import '@mdx-js/mdx'; import 'rehype-katex'; import 'next/image'; import 'next/link'; /** * A valid JSX string component. */ type StringComponent = Exclude; /** * Any allowed JSX component. */ type Component = FC | StringComponent; interface NestedMDXComponents { [key: string]: NestedMDXComponents | Component; } /** * MDX components may be passed as the `components`. * * The key is the name of the element to override. The value is the component to render instead. */ type MDXComponents = NestedMDXComponents & { [Key in StringComponent]?: FC>; } & { /** * If a wrapper component is defined, the MDX content will be wrapped inside it. */ wrapper?: MDXWrapper; } & DefaultMdxComponents; type DefaultMdxComponents = { /** * Nextra's `` component with zoom functionality. * Uses `` for static images and falls back to a standard `` element for others. */ img?: typeof ImageZoom; /** * Nextra's `` component for rendering links. * Uses `` for internal navigation and falls back to a regular `` element for * external links. */ a?: typeof Anchor; }; declare const DEFAULT_COMPONENTS: { img: FC; a: FC, keyof next_link_js.LinkProps> & next_link_js.LinkProps & { children?: React.ReactNode | undefined; } & react.RefAttributes, "ref">, "href"> & { href?: (string | url.UrlObject) | undefined; }>; }; /** * Get current MDX components. * @returns The current set of MDX components. */ type UseMDXComponents< /** * Default MDX components */ DefaultMDXComponents extends MDXComponents> = { ( /** * An object where: * - The key is the name of the HTML element to override. * - The value is the component to render instead. * @remarks `MDXComponents` */ components: components): DefaultMDXComponents & components; (): DefaultMDXComponents; }; declare const useMDXComponents: UseMDXComponents; export { type MDXComponents, type NestedMDXComponents, type UseMDXComponents, useMDXComponents };