import type { LlmGenerationEvent, LlmToolSpan, LlmToolSpanContext, LlmTraceSink } from '@cat-factory/kernel'; /** Minimal structured logger (pino-compatible); optional. */ export interface LangfuseLogger { warn(obj: Record, msg?: string): void; } export interface LangfuseSinkConfig { /** Langfuse public key (`pk-lf-…`). */ publicKey: string; /** Langfuse secret key (`sk-lf-…`). */ secretKey: string; /** Host of the Langfuse instance. Default: Langfuse Cloud (`https://cloud.langfuse.com`). */ baseUrl?: string; /** Optional logger for swallowed errors. */ logger?: LangfuseLogger; /** Injectable fetch (tests); defaults to the global `fetch`. */ fetchImpl?: typeof fetch; } export declare class LangfuseTraceSink implements LlmTraceSink { private readonly endpoint; private readonly authorization; private readonly logger?; private readonly fetchImpl; constructor(config: LangfuseSinkConfig); recordGeneration(event: LlmGenerationEvent): Promise; recordToolSpans(context: LlmToolSpanContext, spans: LlmToolSpan[]): Promise; private send; } /** Build a {@link LangfuseTraceSink}. Returns the opt-in sink wired into a facade. */ export declare function createLangfuseSink(config: LangfuseSinkConfig): LangfuseTraceSink; //# sourceMappingURL=index.d.ts.map