import * as api from '@opentelemetry/api'; import { SnapshotClient } from './snapshot-client'; import { Counter, Gauge, Histogram } from './metrics'; import { LLMConfig } from './integrations/llm-common'; export interface TracekitConfig { apiKey: string; endpoint?: string; tracesPath?: string; metricsPath?: string; serviceName?: string; enabled?: boolean; sampleRate?: number; enableCodeMonitoring?: boolean; autoInstrumentHttpClient?: boolean; serviceNameMappings?: Record; instrumentLLM?: LLMConfig; captureContent?: boolean; } export declare function resolveEndpoint(endpoint: string, path: string, useSSL?: boolean): string; export declare function extractBaseURL(fullURL: string): string; export declare class TracekitClient { private provider; private tracer; private config; private snapshotClient?; private metricsRegistry?; constructor(config: TracekitConfig); startTrace(operationName: string, attributes?: Record): api.Span; startServerSpan(operationName: string, attributes?: Record): api.Span; startSpan(operationName: string, parentSpan?: api.Span | null, attributes?: Record): api.Span; endSpan(span: api.Span, finalAttributes?: Record, status?: string): void; addEvent(span: api.Span, name: string, attributes?: Record): void; recordException(span: api.Span, error: Error): void; private formatStackTrace; flush(): Promise; shutdown(): Promise; isEnabled(): boolean; shouldSample(): boolean; getTracer(): api.Tracer; getSnapshotClient(): SnapshotClient | undefined; captureSnapshot(label: string, variables?: Record): Promise; counter(name: string, tags?: Record): Counter; gauge(name: string, tags?: Record): Gauge; histogram(name: string, tags?: Record): Histogram; private extractServiceName; private normalizeAttributes; } //# sourceMappingURL=client.d.ts.map