/** * Shared type definitions — server/handler types, branded IDs, React component * contracts, page/request contexts, and bundler config. * * @module types */ import type * as React from "react"; import type { ResponseCookie } from "../data/types.js"; export type { BundleResult, BundlerOptions, EmbeddedBundleManifest, MDXBundleOptions, MDXBundleResult, } from "./bundler.js"; export type { AppRouteMatch, Handler, HandlerContext, HandlerMetadata, HandlerResult, MiddlewareFunction, ParsedDomain, RouteHandlerModule, RoutePattern, RouteRegistryConfig, SecurityConfig, } from "./server.js"; export { HandlerPriority } from "./server.js"; export type { ClientComponentMeta, ComponentAnalysis, ComponentType, RSCChildrenPayload, RSCNode, RSCPayload, RSCRendererOptions, } from "./rsc.js"; export type { HMRConnectedMessage, HMRMessage, HMRMessageType, HMRReloadMessage, HMRUpdateMessage, } from "./hmr.js"; export type { BundleInfo, Entity, EntityInfo, EntityTypeInfo, Frontmatter, LoaderData, } from "./entities.js"; export type { AppProps } from "./app.js"; export type { AgentId, ApiKey, AuthToken, Brand, CsrfToken, EntityId, LayoutId, MessageId, PageId, PromptId, RequestId, ResourceId, SessionId, Slug, ToolCallId, ToolId, Unbrand, UserId, } from "./branded.js"; export type ComponentProps = Record; export type Component = React.ComponentType; export type ComponentFunction = (props: ComponentProps) => React.ReactElement | null; /** React elements accepted as compiled-MDX component overrides. */ export type MDXComponents = Record; /** Parsed frontmatter values from an MDX page. */ export interface MDXFrontmatter { title?: string; description?: string; layout?: string | boolean; provider?: string; tags?: string[]; date?: string; published?: boolean; priority?: number; [key: string]: string | number | boolean | string[] | undefined; } export interface MDXGlobals { [key: string]: unknown; } /** Runtime page context passed to page components. */ export interface PageContext { slug: string; path: string; frontmatter: MDXFrontmatter; params?: Record; query?: Record; } export interface RequestContext { request: Request; params?: Record; query?: Record; headers?: Headers; } export type MaybePromise = T | Promise; export interface MdxBundle { compiledCode: string; frontmatter?: MDXFrontmatter; globals?: MDXGlobals; } export interface LayoutItem { kind: "mdx" | "tsx"; bundle?: MdxBundle; component?: React.ComponentType | unknown; componentPath?: string; path?: string; } export interface PageBundle extends MdxBundle { headings?: Array<{ id: string; text: string; level: number; }>; nodeMap?: Map; clientModuleCode?: string; } export interface MDXModule { MDXContent?: React.ComponentType<{ components?: MDXComponents; }>; MDXLayout?: React.ComponentType; MainLayout?: React.ComponentType; default?: React.ComponentType; metadata?: Record; generateMetadata?: (ctx: PageContext) => MaybePromise>; } export interface ScriptPageModule { render?: (ctx: PageContext) => MaybePromise; default?: ((ctx: PageContext) => MaybePromise) | string; html?: string; generateMetadata?: (ctx: PageContext) => MaybePromise>; } export interface RenderMetadata { title?: string; description?: string; slug?: string; frontmatter?: MDXFrontmatter; layoutFrontmatter?: MDXFrontmatter; layout?: string | false; bodyClass?: string; lang?: string; ssrHash?: string; } export interface RenderResult { html: string; css?: string; frontmatter: MDXFrontmatter; headings?: Array<{ id: string; text: string; level: number; }>; nodeMap?: Map; stream?: ReadableStream | null; pageModule?: { slug: string; code: string; type: "mdx" | "component"; }; ssrHash?: string; /** Validated application headers appended after framework-owned headers. */ headers?: Record; /** Distinct cookies serialized as separate Set-Cookie response fields. */ cookies?: ResponseCookie[]; } export type { CriticalCSSResult, CSSBundle, CSSOptimizationOptions, CSSOptimizationStrategy, CSSOptimizerStats, CSSProcessingResult, SelectorExtractionResult, } from "../build/asset-pipeline/css-optimizer/types/index.js"; export { getEntityBySlug, getEntityInfo, getLayoutEntity } from "./entities/getEntityInfo.js"; //# sourceMappingURL=index.d.ts.map