/** * Transport exhaustion guards for a coverage pair and a Vitest blob, plus the * `$GITHUB_OUTPUT` writer producers use when the upload exit code is not the blob signal. */ export type StepOutcome = 'success' | 'failure' | 'cancelled' | 'skipped'; /** * CLI argv values arrive as plain strings (or `undefined` when a positional arg was omitted); this * narrows to `StepOutcome` so a caller can validate a step-outcome argument without an unchecked * `as` cast. */ export declare function isStepOutcome(value: string | undefined): value is StepOutcome; export declare function assertCoverageTransportOutcome(suite: string, primary: StepOutcome, artifactAttempt1: StepOutcome, artifactAttempt2: StepOutcome, emit?: (line: string) => void): boolean; export type BlobPrimaryState = 'true' | 'false' | 'skipped'; export declare function isBlobPrimaryState(value: string | undefined): value is BlobPrimaryState; /** * Sibling to `assertCoverageTransportOutcome` for the Vitest blob. `true`/`false` are the S3 * upload step's `blob` output; `skipped` means that step never ran. Workflows gate the GitHub * fallback on `blob != 'true'`, so a persisted S3 primary with no GitHub artifact attempt is the * expected steady state, not a degraded one. */ export declare function assertCoverageTransportBlobOutcome(suite: string, primaryPersisted: BlobPrimaryState, artifactAttempt1: StepOutcome, artifactAttempt2: StepOutcome, emit?: (line: string) => void): boolean; export type AppendOutput = (path: string, data: string) => void; /** * Writes `blob=true|false` to `$GITHUB_OUTPUT` for outcome reporting. Workflows gate the * GitHub-fallback blob upload on this signal (`blob != 'true'`). The upload subcommand's exit * code tracks the coverage pair, not the blob. A no-op outside CI (`githubOutputPath` unset). */ export declare function writeUploadOutcomeOutput(outcome: { readonly blob: boolean; }, githubOutputPath: string | undefined, appendOutput?: AppendOutput): void;