import * as react from 'react'; import { AnchorHTMLAttributes, ReactNode, HTMLAttributes } from 'react'; import { TableOfContents, PageTree } from 'fumadocs-core/server'; import { Page, LoaderOutput, LoaderConfig } from 'fumadocs-core/source'; import { AnchorProviderProps } from 'fumadocs-core/toc'; import { TOCProps, BreadcrumbProps, FooterProps } from './page.client.js'; import 'fumadocs-core/breadcrumb'; interface EditOnGitHubOptions extends Omit, 'href' | 'children'> { owner: string; repo: string; /** * SHA or ref (branch or tag) name. * * @defaultValue main */ sha?: string; /** * File path in the repo */ path: string; } type TableOfContentOptions = Omit & Pick & { enabled: boolean; component: ReactNode; /** * @defaultValue 'normal' */ style?: 'normal' | 'clerk'; }; type TableOfContentPopoverOptions = Omit; interface BreadcrumbOptions extends BreadcrumbProps { enabled: boolean; component: ReactNode; } interface FooterOptions extends FooterProps { enabled: boolean; component: ReactNode; } interface DocsPageProps { toc?: TableOfContents; /** * Extend the page to fill all available space * * @defaultValue false */ full?: boolean; tableOfContent?: Partial; tableOfContentPopover?: Partial; /** * Replace or disable breadcrumb */ breadcrumb?: Partial; /** * Footer navigation, you can disable it by passing `false` */ footer?: Partial; editOnGithub?: EditOnGitHubOptions; lastUpdate?: Date | string | number; children: ReactNode; } declare function DocsPage({ toc, breadcrumb, full, footer, ...props }: DocsPageProps): React.ReactElement; /** * Add typography styles */ declare const DocsBody: react.ForwardRefExoticComponent & react.RefAttributes>; declare const DocsDescription: react.ForwardRefExoticComponent & react.RefAttributes>; declare const DocsTitle: react.ForwardRefExoticComponent & react.RefAttributes>; declare function DocsCategory({ page, from, tree: forcedTree, ...props }: HTMLAttributes & { page: Page; from: LoaderOutput; tree?: PageTree.Root; }): React.ReactNode; /** * For separate MDX page */ declare function withArticle({ children, }: { children: React.ReactNode; }): React.ReactElement; export { DocsBody, DocsCategory, DocsDescription, DocsPage, type DocsPageProps, DocsTitle, withArticle };