/**
 * LLM call recorder fetch wrapper.
 *
 * Creates a fetch wrapper that records LLM calls passing through
 * the Clark provider. Handles both streaming (doStream) and
 * non-streaming (doGenerate) requests.
 */
import type { FetchFunction } from "@ai-sdk/provider-utils";
import type { RecordingManager } from "../recording-manager.js";
/**
 * Creates a recording fetch wrapper for LLM calls.
 *
 * This wrapper intercepts requests to the LLM provider and records
 * both the request and response data. It handles:
 * - Non-streaming requests (doGenerate): Clones and parses the JSON response
 * - Streaming requests (doStream): Buffers SSE chunks to reconstruct the response
 *
 * @param recorder - The RecordingManager instance
 * @param baseFetch - The underlying fetch function to wrap (defaults to global fetch)
 * @returns A wrapped fetch function that records LLM calls
 *
 * @example
 * ```typescript
 * const recordingFetch = createRecordingFetch(recorder);
 *
 * // Use in provider settings
 * const settings = {
 *   clark: {
 *     fetch: recordingFetch
 *   }
 * };
 * ```
 */
export declare function createRecordingFetch(recorder: RecordingManager, baseFetch?: FetchFunction): FetchFunction;
//# sourceMappingURL=llm-recorder.d.ts.map