export declare class TelemetryManager {
    private static instance;
    private supabase;
    private configManager;
    private eventTracker;
    private batchProcessor;
    private performanceMonitor;
    private errorAggregator;
    private isInitialized;
    private constructor();
    static getInstance(): TelemetryManager;
    private ensureInitialized;
    private initialize;
    trackToolUsage(toolName: string, success: boolean, duration?: number): void;
    trackWorkflowCreation(workflow: any, validationPassed: boolean): Promise<void>;
    trackWorkflowMutation(data: any): Promise<void>;
    trackError(errorType: string, context: string, toolName?: string, errorMessage?: string): void;
    trackEvent(eventName: string, properties: Record<string, any>): void;
    trackSessionStart(): void;
    trackSearchQuery(query: string, resultsFound: number, searchType: string): void;
    trackValidationDetails(nodeType: string, errorType: string, details: Record<string, any>): void;
    trackToolSequence(previousTool: string, currentTool: string, timeDelta: number): void;
    trackNodeConfiguration(nodeType: string, propertiesSet: number, usedDefaults: boolean): void;
    trackPerformanceMetric(operation: string, duration: number, metadata?: Record<string, any>): void;
    flush(): Promise<void>;
    flushMutations(): Promise<void>;
    private isEnabled;
    disable(): void;
    enable(): void;
    getStatus(): string;
    getMetrics(): {
        status: string;
        initialized: boolean;
        tracking: {
            rateLimiter: {
                currentEvents: number;
                maxEvents: number;
                windowMs: number;
                droppedEvents: number;
                utilizationPercent: number;
                remainingCapacity: number;
                arraySize: number;
                maxArraySize: number;
                memoryUsagePercent: number;
            };
            validator: {
                errors: number;
                successes: number;
                total: number;
                errorRate: number;
            };
            eventQueueSize: number;
            workflowQueueSize: number;
            mutationQueueSize: number;
            performanceMetrics: Record<string, any>;
        };
        processing: import("./telemetry-types").TelemetryMetrics & {
            circuitBreakerState: any;
            deadLetterQueueSize: number;
        };
        errors: {
            totalErrors: number;
            errorsByType: Record<string, number>;
            mostCommonError?: string;
            recentErrors: import("./telemetry-types").TelemetryErrorContext[];
        };
        performance: {
            summary: {
                totalOperations: number;
                averageDuration: number;
                slowOperations: number;
                operationsByType: {};
                memoryUsage: {
                    heapUsed: number;
                    heapTotal: number;
                    external: number;
                } | undefined;
                uptimeMs: number;
                overhead: {
                    percentage: number;
                    totalMs: number;
                };
                operationsInLastMinute?: undefined;
            } | {
                totalOperations: number;
                operationsInLastMinute: number;
                averageDuration: number;
                slowOperations: number;
                operationsByType: Record<string, {
                    count: number;
                    avgDuration: number;
                }>;
                memoryUsage: {
                    heapUsed: number;
                    heapTotal: number;
                    external: number;
                } | undefined;
                uptimeMs: number;
                overhead: {
                    percentage: number;
                    totalMs: number;
                };
            };
            percentiles: {
                p50: number;
                p75: number;
                p90: number;
                p95: number;
                p99: number;
            };
            topSlowOperations: {
                operation: string;
                duration: number;
                timestamp: number;
            }[];
            memoryTrend: {
                trend: string;
                delta: number;
            };
            recommendations: string[];
        };
        overhead: {
            percentage: number;
            impact: "minimal" | "low" | "moderate" | "high";
        };
    };
    static resetInstance(): void;
}
export declare const telemetry: TelemetryManager;
//# sourceMappingURL=telemetry-manager.d.ts.map