export type AppleReleaseType = 'MANUAL' | 'AFTER_APPROVAL' | 'SCHEDULED'; export type PhasedReleaseState = 'INACTIVE' | 'ACTIVE' | 'PAUSED' | 'COMPLETE'; export type PhasedReleaseAction = 'status' | 'enable' | 'pause' | 'resume' | 'complete' | 'disable'; export interface VersionReleaseSummary { versionId: string; versionString?: string; state?: string; releaseType?: string; earliestReleaseDate?: string; } export interface PhasedReleaseSummary { id: string; state?: PhasedReleaseState; /** 1~7. Apple 의 7일 램프에서 현재 며칠째인지. */ currentDayNumber?: number; startDate?: string; totalPauseDuration?: number; } export declare function getVersionSummary(versionId: string): Promise; export declare function stateNote(state?: string): string; /** 버전 상태 + 단계적 출시 상태를 한 번에. 쓰기 전 미리보기용. */ export declare function getReleaseStatus(versionId: string): Promise<{ version: VersionReleaseSummary; phased: PhasedReleaseSummary | null; note: string; }>; /** * 개발자 출시 대기 중인 버전을 지금 출시한다 (POST /v1/appStoreVersionReleaseRequests). * 콘솔의 "이 버전 출시" 버튼과 같은 동작 — 되돌릴 수 없다. */ export declare function requestRelease(versionId: string): Promise; /** * 이미 만들어진 버전의 출시 방식을 바꾼다 (PATCH /v1/appStoreVersions/{id}). * MANUAL 로 만들어 두고 "역시 승인되면 바로 내보내자"로 바꾸는 경우가 대부분. * SCHEDULED 는 earliestReleaseDate(ISO 8601, 미래)가 함께 필요하다. */ export declare function updateReleaseType(args: { versionId: string; releaseType: AppleReleaseType; earliestReleaseDate?: string; }): Promise; /** * 단계적 출시(7일 램프) 제어. * * - enable : 없으면 만들고(ACTIVE), PAUSED 면 재개한다 * - pause : 일시중지 (되돌릴 수 있음) * - resume : 재개 * - complete : 남은 사용자에게 즉시 전체 공개 — 되돌릴 수 없다 * - disable : 단계적 출시 자체를 제거. 출시 전이면 일반(전체) 출시로, 출시 후면 즉시 전체 공개가 된다 */ export declare function setPhasedRelease(args: { versionId: string; action: Exclude; }): Promise<{ action: string; phased: PhasedReleaseSummary | null; version: VersionReleaseSummary; }>;