/** * @module runtime/trace-storage * @description Storage for request traces with TTL-based expiration */ import type { RequestTrace, TraceFilter } from './types/trace.js'; /** * Trace storage configuration */ export interface TraceStorageConfig { /** Maximum traces to store */ maxTraces: number; /** Default TTL in milliseconds */ ttlMs: number; /** Enable compression */ compression: boolean; } /** * Storage interface for traces */ export interface TraceStorage { storeTrace(trace: RequestTrace): Promise; getTrace(traceId: string): Promise; listTraces(filter?: TraceFilter): Promise; deleteTrace(traceId: string): Promise; clear(): Promise; getStats(): { count: number; size: number; }; } /** * In-memory trace storage with TTL */ export declare class InMemoryTraceStorage implements TraceStorage { private traces; private config; private cleanupInterval?; constructor(config?: Partial); storeTrace(trace: RequestTrace): Promise; getTrace(traceId: string): Promise; listTraces(filter?: TraceFilter): Promise; deleteTrace(traceId: string): Promise; clear(): Promise; getStats(): { count: number; size: number; }; destroy(): void; private startCleanup; private enforceLimit; private matchesFilter; private compress; private decompress; } /** * Create a trace storage instance */ export declare function createTraceStorage(config?: Partial): TraceStorage; //# sourceMappingURL=trace-storage.d.ts.map