rsnext/packages/next-mdx/index.d.ts
Remco Haszing d407a016c0
Fix @next/mdx types (#57580)
It’s not possible to combine `export =` type definitions with ESM-style
exports. To export types for a module that uses `module.exports =`, one
needs to use a namespace.

Also `Options` is now imported from `@mdx-js/loader`. The imports need
to come from a direct dependency or peer dependency. Also
`@mdx-js/loader` is more accurate here, because the options are passed
into `@mdx-js/loader`.

---------

Co-authored-by: JJ Kasper <jj@jjsweb.site>
2024-02-15 20:54:43 -08:00

33 lines
798 B
TypeScript

import type { NextConfig } from 'next'
import type { Options } from '@mdx-js/loader'
import type { RuleSetConditionAbsolute } from 'webpack'
type WithMDX = (config: NextConfig) => NextConfig
declare namespace nextMDX {
interface NextMDXOptions {
/**
* A webpack rule test to match files to treat as MDX.
*
* @default /\.mdx$/
* @example
* // Support both .md and .mdx files.
* /\.mdx?$/
*/
extension?: RuleSetConditionAbsolute
/**
* The options to pass to MDX.
*
* @see https://mdxjs.com/packages/mdx/#api
*/
options?: Options
}
}
/**
* Use [MDX](https://github.com/mdx-js/mdx) with [Next.js](https://github.com/vercel/next.js)
*/
declare function nextMDX(options?: nextMDX.NextMDXOptions): WithMDX
export = nextMDX