import type { ControlPlaneOperation, ControlPlaneStore, JsonValue } from '../control-plane';
import type { ReleaseRecord } from './types';
import { DurableOperationQueue } from '../queue';
import { ReleaseStore } from './store';
export declare class ReleaseService {
    readonly controlPlane: ControlPlaneStore;
    readonly releases: ReleaseStore;
    readonly queue: DurableOperationQueue;
    constructor(controlPlane: ControlPlaneStore);
    enqueueActivation(release: ReleaseRecord, input?: {
        actorId?: string;
        action?: 'activate' | 'rollback';
        targetReleaseId?: string;
    }): ControlPlaneOperation;
    completeHealthGate(releaseId: string, input: {
        healthy: boolean;
        operationId?: string;
        health?: JsonValue;
        message?: string;
    }): {
        release: ReleaseRecord;
        rollbackOperation?: ControlPlaneOperation;
    };
    enqueueRollback(release: ReleaseRecord, input?: {
        actorId?: string;
        targetReleaseId?: string;
    }): ControlPlaneOperation;
}
