import type { WireRejection } from "../adapters/validate.js"; import type { Backend } from "../providers/backend.js"; import { type CompositionalRoutingRuntime } from "../routing/eval-policy.js"; import type { EndpointAuthenticator, EndpointContext, EndpointModelCall, EndpointObserver } from "./endpoint-module.js"; import { GatewayEndpoint } from "./endpoint-module.js"; export type ChatOperation = "chat" | "cursor-chat" | "embeddings"; export type ChatEndpointDependencies = Readonly<{ backend: Backend; compositionalRouting?: CompositionalRoutingRuntime; rejectInvalid(context: EndpointContext, rejection: WireRejection | undefined): boolean; attribution(requested: string | undefined): EndpointModelCall["attribution"]; }>; export declare class ChatEndpoint extends GatewayEndpoint { constructor(authenticate: EndpointAuthenticator, dependencies: ChatEndpointDependencies, observe?: EndpointObserver); matches(method: string, path: string): boolean; protected decodeOperation(context: EndpointContext): ChatOperation; }