import { type Span, type Attributes } from '@opentelemetry/api'; import { type TracingConfig } from './config.js'; import { LocalTraceStore } from './store.js'; import type { TraceRecord } from './types.js'; export type TraceIdentity = { conversationId?: string; runId?: string; agentId?: string; transcriptId?: string; }; export declare function localStore(): LocalTraceStore; export declare function tracingConfig(): TracingConfig; export declare function configureTracing(value?: unknown): Promise; export declare function tracingStatus(): Promise<{ local: any; langfuse: { state: string; pending: number; dropped: number; lastSuccess: number; lastFailure: number; lastError: string; } | { state: string; pending: number; dropped: number; }; active: number; dropped: number; }>; export declare function traceIds(): { traceId?: string; spanId?: string; }; export type Observation = { span?: Span; run: (fn: () => T) => T; finish: (status?: string, output?: unknown) => void; input: (value: unknown) => void; update: (values: Attributes) => void; }; export declare function startObservation(name: string, type: TraceRecord['type'], identity?: TraceIdentity): Observation; export declare function traceRun(name: string, identity: TraceIdentity, fn: () => Promise, input?: unknown): Promise; export declare function traceTools any; }>(tools: T[]): T[]; export declare function flushTracing(): Promise; export declare function testLangfuse(): Promise; export declare function closeTracing(): Promise; export declare function traceOperation(name: string, fn: () => Promise, attributes?: Attributes): Promise; export declare function setTraceIdentity(identity: TraceIdentity): void;