import * as grpc from '@grpc/grpc-js'; import { PerformerServerConfig, TaskRequest, TaskResponse, HealthCheckRequest, HealthCheckResponse, StartSyncRequest, StartSyncResponse, PerformerStatus } from '../types/performer'; import { IWorker } from '../worker/iWorker'; import { TaskProcessorConfig } from './taskProcessor'; import { HealthCheckConfig } from './healthManager'; import { MetricsConfig } from '../utils/metrics'; /** * PerformerServer class that implements the gRPC PerformerService * This mirrors the Go PonosPerformer structure */ export declare class PerformerServer { private server; private config; private worker; private logger; private taskProcessor; private healthManager; private metricsCollector; private diagnosticTool; private isRunning; constructor(worker: IWorker, config?: PerformerServerConfig, taskProcessorConfig?: TaskProcessorConfig, healthConfig?: HealthCheckConfig, metricsConfig?: MetricsConfig); /** * Set up the gRPC server with the PerformerService */ private setupGrpcServer; /** * Start the gRPC server */ start(): Promise; /** * Stop the gRPC server gracefully */ stop(): Promise; /** * Execute a task (gRPC handler) */ executeTask(call: grpc.ServerUnaryCall, callback: grpc.sendUnaryData): Promise; /** * Get task execution metrics */ getTaskMetrics(): import("./taskContext").TaskMetrics[]; /** * Clear accumulated task metrics */ clearTaskMetrics(): void; /** * Add custom serialization strategy */ addSerializationStrategy(strategy: any): void; /** * Health check (gRPC handler) */ healthCheck(call: grpc.ServerUnaryCall, callback: grpc.sendUnaryData): Promise; /** * Start sync (gRPC handler) */ startSync(call: grpc.ServerUnaryCall, callback: grpc.sendUnaryData): Promise; /** * Convert application errors to gRPC errors */ private createGrpcError; /** * PerformerService interface implementation */ ExecuteTask(request: TaskRequest): Promise; HealthCheck(request: HealthCheckRequest): Promise; StartSync(request: StartSyncRequest): Promise; /** * Set up graceful shutdown handlers */ setupGracefulShutdown(): void; /** * Get server status */ getStatus(): { isRunning: boolean; config: Required; }; /** * Get comprehensive health information */ getHealthInfo(): Promise; /** * Get health summary */ getHealthSummary(): { status: PerformerStatus; uptime: number; taskCount: number; errorCount: number; memoryUsageMB: number; }; /** * Get metrics summary */ getMetricsSummary(): { totalMetrics: number; counters: number; gauges: number; histograms: number; oldestTimestamp?: number; newestTimestamp?: number; }; /** * Get diagnostic report */ getDiagnosticReport(): string; /** * Add custom health check provider */ addHealthProvider(provider: any): void; /** * Add custom metrics exporter */ addMetricsExporter(exporter: any): void; /** * Record custom metric */ recordMetric(name: string, value: number, labels?: Record): void; /** * Get active diagnostic traces */ getActiveTraces(): any[]; } //# sourceMappingURL=performerServer.d.ts.map