/** * Operation Tracker for Debugger * * Specialized operation tracker for debugging and analysis operations. * Extends BaseOperationTracker with debugger-specific functionality. */ import { BaseOperationTracker } from '../../queue/BaseOperationTracker'; import { PRIORITY_LEVEL } from '@plyaz/types/api'; import type { DebuggerOperation, DebuggerOperationType } from '@plyaz/types/api'; /** * Debugger operation tracker */ export declare class OperationTracker extends BaseOperationTracker { private static instance; private constructor(); /** * Get singleton instance */ static getInstance(): OperationTracker; /** * Track a debugger operation with enhanced metadata */ trackDebuggerOperation(operation: DebuggerOperationType, event: string, metadata?: Record, options?: { priority?: (typeof PRIORITY_LEVEL)[keyof typeof PRIORITY_LEVEL]; source?: string; category?: DebuggerOperation['category']; }): void; /** * Create debugger-specific operation */ protected createOperation(operation: string, event: string, metadata: Record, options?: { priority?: (typeof PRIORITY_LEVEL)[keyof typeof PRIORITY_LEVEL]; source?: string; }): DebuggerOperation; /** * Detect operation category */ private detectCategory; /** * Handle processing errors with retry logic for critical operations */ protected handleProcessingError(error: unknown, operation: DebuggerOperation): void; /** * Get debugger-specific statistics */ getDebuggerStats(): { basic: ReturnType; byCategory: Record, number>; retries: number; }; } export declare const trackingQueue: { /** * Track an operation */ track(operation: string, event: string, metadata?: Record): void; /** * Enable or disable tracking * Useful for tests that don't need tracking for performance */ setEnabled(enabled?: boolean): void; /** * Check if tracking is enabled */ isEnabled(): boolean; /** * Set the handler for processing operations */ setReady(handler: (op: DebuggerOperation) => void | Promise): void; /** * Get queue statistics */ getStats(): ReturnType; /** * Reset the queue (for testing) */ reset(): void; /** * Legacy method for compatibility * @deprecated */ drainQueue(): DebuggerOperation[]; }; export type { DebuggerOperation as QueuedOperation }; export type { DebuggerOperationType as TrackedOperationType }; //# sourceMappingURL=OperationTracker.d.ts.map