import { ReactNode } from 'react'; import { ConfigInterface } from '../config'; import { AsyncAPIDocumentData } from '../types/schema'; import { SectionLayout } from '../components/Section'; /** * Standalone, composable section components. Each renders one part of an * AsyncAPI document (servers, operations, messages, schemas, info) on its own, * so consumers can arrange them in their own layout instead of using the whole * `` widget. * * They're dual-mode: * - Standalone: pass a `document` (and optional `config`); the section * resolves it and sets up its own context. * * - Composed: render several under one (resolves once, * shares context); sections then read from it and their own `document` * prop is unnecessary. * * * */ export interface SectionProps { /** The AsyncAPI document. Required standalone; unnecessary (and ignored) * when rendered inside or . */ document?: AsyncAPIDocumentData; /** Only applied when this section sets up its own context (standalone). When * composed under a provider, config comes from that provider. */ config?: ConfigInterface; /** * `"columns"` (default) — reserved right gutter at large breakpoints. * `"stacked"` — full-width single column; no prose max-width and no empty * side space. For Info/Servers, side content stacks below the main content. */ layout?: SectionLayout; } /** * Provider that resolves a document once and shares it with any section * components rendered inside: the composition entry point. */ export declare function AsyncAPIProvider({ document, config, children, }: { /** The AsyncAPI document to resolve and share with sections inside. */ document: AsyncAPIDocumentData; /** UI configuration (theme, schema expansion defaults) shared with sections inside. */ config?: ConfigInterface; /** Section components (or your own), rendered with access to the shared document context. */ children: ReactNode; }): import("react").JSX.Element; export declare function Servers({ layout, ...providerProps }: SectionProps): import("react").JSX.Element; export declare function Operations({ layout, ...providerProps }: SectionProps): import("react").JSX.Element; export declare function Messages({ layout, ...providerProps }: SectionProps): import("react").JSX.Element; export declare function Schemas({ layout, ...providerProps }: SectionProps): import("react").JSX.Element; export declare function Info({ layout, ...providerProps }: SectionProps): import("react").JSX.Element;