/**
 * Canary Deployment Controller
 * Gradual rollout with traffic percentage control and automatic rollback
 * Sealed namespace for immutability
 */
export type CanaryStage = 'initial' | 'ramping' | 'monitoring' | 'completed' | 'rolling-back' | 'failed';
export type CanaryDeploymentConfig = {
    workerName: string;
    currentVersion: string;
    canaryVersion: string;
    initialTrafficPercent: number;
    targetTrafficPercent: number;
    incrementPercent: number;
    incrementInterval: number;
    monitoringDuration: number;
    errorThreshold: number;
    latencyThreshold: number;
    minSuccessRate: number;
    autoRollback: boolean;
};
export type CanaryDeployment = {
    config: CanaryDeploymentConfig;
    currentTrafficPercent: number;
    stage: CanaryStage;
    startedAt: Date;
    completedAt?: Date;
    metrics: {
        currentVersion: {
            processed: number;
            errors: number;
            avgLatency: number;
        };
        canaryVersion: {
            processed: number;
            errors: number;
            avgLatency: number;
        };
    };
    history: Array<{
        timestamp: Date;
        trafficPercent: number;
        stage: CanaryStage;
        metrics: CanaryDeployment['metrics'];
        decision: string;
    }>;
};
/**
 * Canary Deployment Controller - Sealed namespace
 */
export declare const CanaryController: Readonly<{
    /**
     * Start canary deployment
     */
    start(config: CanaryDeploymentConfig): void;
    /**
     * Pause canary deployment
     */
    pause(workerName: string): void;
    /**
     * Resume canary deployment
     */
    resume(workerName: string): void;
    /**
     * Complete canary deployment
     */
    complete(workerName: string): void;
    /**
     * Rollback canary deployment
     */
    rollback(workerName: string, reason: string): void;
    /**
     * Get canary deployment status
     */
    getStatus(workerName: string): CanaryDeployment | null;
    /**
     * Update metrics for canary deployment
     */
    updateMetrics(workerName: string, version: string, processed: number, errors: number, avgLatency: number): void;
    /**
     * Route job to version based on traffic percentage
     */
    routeJob(workerName: string): string | null;
    /**
     * List all canary deployments
     */
    listDeployments(): string[];
    /**
     * Get deployment history
     */
    getHistory(workerName: string): CanaryDeployment["history"] | null;
    /**
     * Remove completed/failed deployment
     */
    remove(workerName: string): void;
    /**
     * Purge deployment data (force cleanup)
     */
    purge(workerName: string): void;
    /**
     * Shutdown all canary deployments
     */
    shutdown(): void;
}>;
//# sourceMappingURL=CanaryController.d.ts.map