import { OnModuleInit, OnModuleDestroy } from '@nestjs/common';
import { DevToolsBridgeService } from './devtools-bridge.service';
import { TelescopeService } from '../../core/services/telescope.service';
import { EnhancedEntryManagerService } from '../../core/services/enhanced-entry-manager.service';
import { MetricsService } from '../../core/services/metrics.service';
import { TelescopeEntry } from '../../core/interfaces/telescope-entry.interface';
import { TelescopeConfig } from '../../core/interfaces/telescope-config.interface';
export interface ProcessingError {
    message: string;
    stack?: string;
    entry?: TelescopeEntry;
    timestamp: Date;
    retryCount: number;
}
export interface StreamConfiguration {
    bufferTimeMs: number;
    maxBufferSize: number;
    maxConcurrentBatches: number;
    retryDelayMs: number;
    maxRetries: number;
    errorThrottleMs: number;
}
export declare class StreamProcessingBridgeService extends DevToolsBridgeService implements OnModuleInit, OnModuleDestroy {
    private readonly entryManager;
    private readonly metricsService;
    private readonly entryStream;
    private readonly errorStream;
    private subscriptions;
    private isProcessing;
    private readonly streamConfig;
    constructor(telescopeService: TelescopeService, entryManager: EnhancedEntryManagerService, metricsService: MetricsService, config: TelescopeConfig);
    onModuleInit(): Promise<void>;
    onModuleDestroy(): Promise<void>;
    private updateStreamConfig;
    private setupStreams;
    private processBatchSafely;
    private fallbackToIndividualProcessing;
    private handleBatchResults;
    processDevToolsEntry(entry: any, type: string): Promise<void>;
    protected transformToTelescopeFormat(entry: any, type: string): TelescopeEntry;
    getStreamMetrics(): {
        entriesInQueue: number;
        errorCount: number;
        averageProcessingTime: number;
        throughput: number;
        isProcessing: boolean;
        subscriptions: number;
    };
    getStreamConfiguration(): StreamConfiguration;
    updateStreamConfiguration(config: Partial<StreamConfiguration>): void;
    flushBuffer(): Promise<void>;
    getHealthStatus(): {
        isHealthy: boolean;
        issues: string[];
        lastProcessedAt?: Date;
    };
}
