import type { Command } from 'commander'; import { type LayerResult } from '../../services/release/version-precheck-service.js'; import { type ProgramIO } from '../cli-helpers.js'; /** * The payload an outcome carries. The `error` member is declared so the * INVALID_TRANSITION message is read as a `string` rather than as `unknown` * off the open index signature. */ type CanaryPayload = Readonly> & { readonly error?: string; }; type CanaryOutcome = { ok: boolean; payload: CanaryPayload; status: 'PRECHECK_BLOCKER' | 'INVALID_PERCENT' | 'INVALID_TRANSITION' | 'OK'; blockerLayer?: { name: string; result: LayerResult; }; }; export declare function executeCanaryAction(opts: { percent: string; note?: string; project?: string; json?: boolean; }, io: ProgramIO, projectRoot: string): CanaryOutcome; export declare function registerReleaseCanaryCommand(release: Command, io: ProgramIO): void; export {};