fumadocs-openapi
Version:
Generate MDX docs for your OpenAPI spec
49 lines (48 loc) • 1.52 kB
TypeScript
import { OpenAPIServer } from "./create.js";
import { ApiPageProps } from "../ui/api-page.js";
import { SchemaToPagesOptions } from "../utils/pages/preset-auto.js";
import { ProcessedDocument } from "../utils/process-document.js";
import { LoaderPlugin, PageData, PageTreeTransformer, Source } from "fumadocs-core/source";
import { StructuredData } from "fumadocs-core/mdx-plugins";
import { TOCItemType } from "fumadocs-core/toc";
//#region src/server/source-api.d.ts
declare module 'fumadocs-core/source' {
interface PageData {
/**
* Added by Fumadocs OpenAPI
*/
_openapi?: InternalOpenAPIMeta;
}
}
interface InternalOpenAPIMeta {
method?: string;
webhook?: boolean;
}
/**
* Fumadocs Source API integration, pass this to `plugins` array in `loader()`.
*/
declare function openapiPlugin(): LoaderPlugin;
interface OpenAPIPageData extends PageData {
getAPIPageProps: () => ApiPageProps;
getSchema: () => {
id: string;
} & ProcessedDocument;
structuredData: StructuredData;
toc: TOCItemType[];
}
/**
* Generate virtual pages for Fumadocs Source API
*/
declare function openapiSource(server: OpenAPIServer, options?: SchemaToPagesOptions & {
baseDir?: string;
}): Promise<Source<{
metaData: never;
pageData: OpenAPIPageData;
}>>;
/**
* @deprecated use `openapiPlugin()`
*/
declare function transformerOpenAPI(): PageTreeTransformer;
//#endregion
export { InternalOpenAPIMeta, openapiPlugin, openapiSource, transformerOpenAPI };
//# sourceMappingURL=source-api.d.ts.map