export declare const RELEASE_STATUS_SCHEMA_VERSION: 1;
export type ReleaseSignalStatus = {
    git: "ok" | "unavailable";
    npm: "ok" | "degraded" | "unavailable";
    github: "ok" | "degraded" | "unavailable";
};
export type ReleaseStatusSnapshot = {
    schemaVersion: typeof RELEASE_STATUS_SCHEMA_VERSION;
    branch: string | null;
    headSha: string | null;
    latestTag: string | null;
    npmDistTags: Record<string, string> | null;
    latestReleaseUrl: string | null;
    currentPhase: string | null;
    nextPhase: string | null;
    packageName: string | null;
    signalStatus: ReleaseSignalStatus;
    degraded: string[];
};
export type ReleaseStatusCollectors = {
    readPackageName?: (workspacePath: string) => string | null;
    readGitBranch?: (workspacePath: string) => string | null;
    readLatestTag?: (workspacePath: string) => string | null;
    readNpmDistTags?: (packageName: string) => Record<string, string> | null;
    readLatestReleaseUrl?: (workspacePath: string) => string | null;
};
export declare function buildReleaseStatusSnapshot(args: {
    workspacePath: string;
    currentPhase: string | null;
    nextPhase: string | null;
    collectors?: ReleaseStatusCollectors;
}): ReleaseStatusSnapshot;
