import { type LanguageModel } from "ai"; import { type GeistdocsConfig } from "../config"; import { type ChatMixedbreadOptions } from "../internal/chat-retrieval"; import { type GeistdocsPageFilter } from "../page-visibility"; import type { GeistdocsSourceBundle } from "../source"; type SourceBundle = GeistdocsSourceBundle; interface ChatProxyConfig { headers?: HeadersInit | (() => HeadersInit | Promise); url: string; } interface ChatEveAgentOptions { /** * Extra headers for requests to the eve agent, replacing the default * `Authorization: Bearer ` when an `authorization` * header is provided. Accepts an async function for per-request tokens. * Server-only: never expose auth material through `geistdocs.tsx`. */ headers?: HeadersInit | (() => HeadersInit | Promise); /** Overrides `config.ai.eveAgent.url` (e.g. for a staging agent). */ url?: string; } interface CreateChatRouteOptions { config: Pick; /** * Server-side options for the eve agent responder configured through * `config.ai.eveAgent`. Mutually exclusive with `proxy`. */ eveAgent?: ChatEveAgentOptions; /** Narrows the stable public corpus available to Ask AI. */ filterPage?: GeistdocsPageFilter; /** * Server-only Mixedbread overrides. Environment variables are used when * these values are omitted. */ mixedbread?: ChatMixedbreadOptions; /** * Model used to answer Ask AI requests in the default AI Gateway mode. * Accepts any AI SDK `LanguageModel`, including AI Gateway model strings * such as `"xai/grok-4.5"`. Ignored in proxy and eve agent modes, where * the external service selects the model. Defaults to * `"openai/gpt-5.6-sol"`. */ model?: LanguageModel; proxy?: ChatProxyConfig; source?: SourceBundle; sources?: SourceBundle[]; } export declare const createChatRoute: ({ config, eveAgent, filterPage, mixedbread, model, proxy, source, sources, }: CreateChatRouteOptions) => { POST: (req: Request) => Promise; maxDuration: 800; }; export {}; //# sourceMappingURL=chat.d.ts.map