import React from 'react'; import { type DocViewerProps } from './doc-viewer'; import type { DocContent, DocRenderHandlers, DocumentType } from '../../types/doc-source'; type DocRenderer = (content: DocContent, handlers: DocRenderHandlers) => React.ReactNode; /** * Per-document-type renderer map. `markdown` is required (the lib does NOT * ship a default markdown renderer — embedders pick their own library + * sanitization to avoid an XSS surface in the lib). * * `pdf` / `google_sheet` / `figma` / `file` are optional — the lib provides * defaults from `components/embeds`. Override only when you want different * props than the default (e.g. a custom PDF toolbar, embedded credentials). */ export type DocumentTypeRenderers = { markdown: DocRenderer; } & Partial>; export interface DocsHubPageProps extends Omit { /** Per-document-type renderer map. `markdown` is REQUIRED. */ documentTypeRenderers: DocumentTypeRenderers; /** Renderer for unknown / future document types. Defaults to a lib-styled * "Unsupported document type" message. */ fallbackRenderer?: DocRenderer; /** Loading skeleton picker. Defaults: `markdown` / `undefined` → * ``, everything else → ``. */ renderSkeleton?: (documentType: DocumentType | undefined) => React.ReactNode; /** Defaults to `true` (the embeddable wrapper favors the chat-enabled * experience). Only mounts the in-source RAG search bar * (``) — does NOT require `ChatRuntimeContext`. */ showAIChat?: boolean; } /** * Embeddable docs-hub page. Bundles `` with safe defaults so the * minimum embed is a one-line mount (consumer only has to supply * `documentTypeRenderers.markdown`). * * Used by the hub at `/knowledge-base` and `/data-room`, and by third-party * React apps that embed the docs experience behind their own proxy. See * `docs/EMBEDDING_DOCS_HUB.md` for the embedder setup. * * SEO note: this component is `'use client'` (via the docs barrel) — server- * side SEO is the host's responsibility. The hub's `` is the * canonical implementation embedders can reference. */ export declare function DocsHubPage({ title, documentTypeRenderers, fallbackRenderer, renderSkeleton, showAIChat, className, sidebarLabel, ...docViewerProps }: DocsHubPageProps): React.JSX.Element; export {}; //# sourceMappingURL=docs-hub-page.d.ts.map