export type Platform = 'ios' | 'android';
export type OnboardingStep = 'welcome' | 'platform-select' | 'adding-platform' | 'credentials-exist' | 'backing-up' | 'api-key-instructions' | 'p8-method-select' | 'input-p8-path' | 'input-key-id' | 'input-issuer-id' | 'verifying-key' | 'creating-certificate' | 'cert-limit-prompt' | 'revoking-certificate' | 'creating-profile' | 'duplicate-profile-prompt' | 'deleting-duplicate-profiles' | 'saving-credentials' | 'ask-build' | 'requesting-build' | 'build-complete' | 'no-platform' | 'error';
export interface ApiKeyData {
    keyId: string;
    issuerId: string;
}
export interface CertificateData {
    certificateId: string;
    expirationDate: string;
    teamId: string;
    p12Base64: string;
}
export interface ProfileData {
    profileId: string;
    profileName: string;
    profileBase64: string;
}
export interface OnboardingProgress {
    platform: Platform;
    appId: string;
    startedAt: string;
    /** Path to the .p8 file on disk (content is NOT stored, only the path) */
    p8Path?: string;
    /** Partial input — saved incrementally so resume works mid-flow */
    keyId?: string;
    issuerId?: string;
    completedSteps: {
        apiKeyVerified?: ApiKeyData;
        certificateCreated?: CertificateData;
        profileCreated?: ProfileData;
    };
    /** Temporary — wiped after .p12 creation */
    _privateKeyPem?: string;
}
/** Maps each step to a progress percentage (0-100) */
export declare const STEP_PROGRESS: Record<OnboardingStep, number>;
export declare function getPhaseLabel(step: OnboardingStep): string;
