/**
 * LLM API endpoint detection + response body parsing.
 *
 * Used by the fetch interceptor to recognize LLM provider calls and extract
 * usage metadata (model, input/output token counts) from response bodies.
 *
 * The body is read in-process inside the customer's harness. Prompt and
 * completion content (`messages`, `content`, `choices[].message.content`)
 * never crosses the wire to AgentVault — only the extracted metadata.
 */
export type LlmProvider = "anthropic" | "openai";
export interface ParsedLlmResponse {
    model: string;
    tokensInput: number;
    tokensOutput: number;
}
/**
 * Detect whether a URL is a known LLM API endpoint we can parse.
 * Returns the provider key, or null if not recognized.
 */
export declare function detectLlmEndpoint(url: string): LlmProvider | null;
/**
 * Parse an LLM API response body, returning normalized usage metadata.
 *
 * Returns null if the body is not parseable or usage fields are missing.
 * Treats a missing `model` as `"unknown"` to avoid losing token counts when
 * a provider response shape varies. Does NOT extract prompt/completion
 * content — that is irrelevant to billing/observability and would violate
 * the plaintext constraint if transmitted.
 */
export declare function parseLlmResponse(provider: LlmProvider, body: unknown): ParsedLlmResponse | null;
//# sourceMappingURL=llm-response-parser.d.ts.map