export declare function resolveTracesEndpoint(baseUrl?: string): string; export declare const resolveTracingIngestEndpoint: typeof resolveTracesEndpoint; export interface RespanConfig { fields: Record; properties: Record; } export interface Credentials { apiKey: string; baseUrl: string; } export interface SpanData { trace_unique_id: string; span_unique_id: string; span_parent_id?: string; span_name: string; span_workflow_name: string; span_path?: string; session_identifier?: string; thread_identifier?: string; customer_identifier?: string; model?: string; provider_id?: string; input?: string; output?: string; timestamp: string; start_time: string; latency?: number; metadata?: Record; prompt_tokens?: number; completion_tokens?: number; total_tokens?: number; prompt_tokens_details?: Record; prompt_messages?: Array>; completion_message?: Record | null; warnings?: string; encoding_format?: string; disable_fallback?: boolean; respan_params?: Record; field_name?: string; delimiter?: string; disable_log?: boolean; request_breakdown?: boolean; } export declare function initLogging(logFile: string, debug: boolean): void; export declare function log(level: string, message: string): void; export declare function debug(message: string): void; export declare function resolveCredentials(): Credentials | null; export declare function loadRespanConfig(configPath: string): RespanConfig; export declare function loadState(statePath: string): Record; export declare function saveState(statePath: string, state: Record): void; /** * Simple advisory file lock using mkdir (atomic on all platforms). * Returns an unlock function, or null if lock couldn't be acquired. */ export declare function acquireLock(lockPath: string, timeoutMs?: number): (() => void) | null; export declare function nowISO(): string; export declare function parseTimestamp(ts: string): Date | null; export declare function latencySeconds(start: string, end: string): number | undefined; export declare function truncate(text: string, maxChars?: number): string; /** * No-op — v1 platform defaults are no longer needed with OTLP v2 format. * Kept for API compatibility with hook files. */ export declare function addDefaults(span: SpanData): SpanData; export declare function addDefaultsToAll(spans: SpanData[]): SpanData[]; /** * Resolve config overrides for span fields. Env vars take precedence over config file. */ export declare function resolveSpanFields(config: RespanConfig | null, defaults: { workflowName: string; spanName: string; }): { workflowName: string; spanName: string; customerId: string; }; /** * Build metadata from config properties + env overrides. */ export declare function buildMetadata(config: RespanConfig | null, base?: Record): Record; /** Convert SpanData[] to OTLP JSON payload for /v2/traces. */ export declare function toOtlpPayload(spans: SpanData[]): Record; export declare function sendSpans(spans: SpanData[], apiKey: string, baseUrl: string, context: string): Promise;