import { NodeTelemetryHandle, NodeTelemetryOptions, ResolvedNodeTelemetryEndpoints } from "@agimon-ai/log-sink-mcp/telemetry/node"; //#region src/types/telemetry.d.ts type DoomTelemetryEventLevel = 'debug' | 'info' | 'warn' | 'error' | 'fatal'; type DoomTelemetryAttributes = Record; interface DoomTelemetryRecord { event: string; level: DoomTelemetryEventLevel; attributes: DoomTelemetryAttributes; } interface DoomTelemetryStatus { serviceName: string; packageName?: string; backend: NodeTelemetryHandle['backend'] | 'disabled'; enabled: boolean; endpoint?: string; endpointSource: NodeTelemetryHandle['endpointSource']; traces: boolean; fileFallback: boolean; } interface DoomTelemetryOptions { serviceName: string; packageName?: string; cwd?: string; workspaceRoot?: string; env?: NodeJS.ProcessEnv; enableTraces?: boolean; enableLogs?: boolean; allowFileFallback?: boolean; retryDelayMs?: number; telemetryFactory?: TelemetryFactory; endpointResolver?: EndpointResolver; warn?: (message: string) => void; onRecord?: (record: DoomTelemetryRecord) => void; onStatus?: (status: DoomTelemetryStatus) => void; } interface DoomTelemetryErrorOptions { /** Export the error as an OTEL exception. Callers must opt in because exception details can contain sensitive data. */ includeException?: boolean; } interface DoomTraceContext { traceparent: string; } interface DoomTelemetry { recordDebug(event: string, attributes?: Record): Promise; recordEvent(event: string, attributes?: Record): Promise; recordWarning(event: string, error?: unknown, attributes?: Record): Promise; recordError(event: string, error?: unknown, attributes?: Record, options?: DoomTelemetryErrorOptions): Promise; runInSpan(name: string, attributes: Record, callback: (context?: DoomTraceContext) => Promise | T, parent?: DoomTraceContext): Promise; flush(): Promise; shutdown(): Promise; status(): DoomTelemetryStatus; } type TelemetryFactory = (options: NodeTelemetryOptions) => Promise; type EndpointResolver = (options: { cwd?: string; env?: NodeJS.ProcessEnv; packageName?: string; serviceName?: string; workspaceRoot?: string; discoverEndpoint?: boolean; healthCheck?: boolean; }) => Promise; //#endregion //#region src/services/telemetry/index.d.ts declare function subscribeTelemetryRecords(observer: (record: DoomTelemetryRecord) => void): () => void; declare function sanitizeTelemetryAttributes(attributes?: Record): DoomTelemetryAttributes; declare function createTelemetryHeaders(serviceName: string, env: NodeJS.ProcessEnv): Record; //#endregion //#region src/services/logSinkTelemetry/index.d.ts declare function createDoomTelemetry(options: DoomTelemetryOptions): DoomTelemetry; //#endregion export { DoomTelemetry as a, DoomTelemetryEventLevel as c, DoomTelemetryStatus as d, DoomTraceContext as f, subscribeTelemetryRecords as i, DoomTelemetryOptions as l, createTelemetryHeaders as n, DoomTelemetryAttributes as o, sanitizeTelemetryAttributes as r, DoomTelemetryErrorOptions as s, createDoomTelemetry as t, DoomTelemetryRecord as u }; //# sourceMappingURL=index-D-IyeArk.d.mts.map