import 'zone.js'; import type { ContextData, TraceContext } from './types'; /** * Browser implementation of LogContext using Zone.js for async context * propagation (similar to AsyncLocalStorage in Node). */ export declare class LogContext { private static instance; private static fallbackCounter; static getInstance(): LogContext; /** * Run a function with a new context */ run(context: ContextData, fn: () => T): T; /** * Run a function with an extended context (merges with current) */ extend(additionalContext: Partial, fn: () => T): T; /** * Set context data for the current execution context */ set(key: string, value: unknown): void; /** * Get a specific context value */ get(key: string): T | undefined; /** * Get all context data */ getContext(): ContextData; /** * Set trace context */ setTrace(trace: TraceContext): void; /** * Get current trace context */ getCurrentTrace(): TraceContext | undefined; /** * Generate a unique ID for requests/operations */ generateId(): string; }