import type { DiagnosticTraceDocument } from '../diagnostics/trace-format'; export interface BleDiagnosticTraceRecord { readonly ordinal: number; readonly time: number; readonly kind: 'operation' | 'resource' | 'stream' | 'attachment'; readonly event: string; readonly cause: string | null; readonly correlation: string | null; readonly redactedClient: boolean; readonly redactedPeer: boolean; readonly redactedPath: boolean; readonly redactedPayload: boolean; } export interface BleDiagnosticTraceDocument { readonly format: 'unified-ble-trace-v1'; readonly truncated: boolean; readonly records: readonly BleDiagnosticTraceRecord[]; } export interface BleResourceCounters { readonly activeScanControllers: number; readonly scanConsumers: number; readonly chooserSessions: number; readonly connectionLeases: number; readonly physicalLinks: number; readonly databaseSnapshots: number; readonly physicalCccdEnablements: number; readonly subscriptionConsumers: number; readonly queuedOperations: number; readonly dispatchedOperations: number; readonly retainedByteBuffers: number; readonly restorationRecords: number; readonly orphanedIpcOwners: number; } export interface BleDiagnosticsSnapshot { readonly trace: BleDiagnosticTraceDocument; readonly resourceCounters: BleResourceCounters; } export interface BleDiagnostics { snapshot(): BleDiagnosticsSnapshot; resourceCounters(): BleResourceCounters; startTrace(): { stop(): Promise; }; } export declare function snapshotPublicTraceDocument(value: DiagnosticTraceDocument): BleDiagnosticTraceDocument; export declare function snapshotResourceCounters(value: Record): BleResourceCounters; export declare function diagnosticsUnavailable(): BleDiagnostics; //# sourceMappingURL=diagnostics.d.ts.map