interface SaveCredentialsOptions {
    platform?: 'ios' | 'android';
    appId?: string;
    local?: boolean;
    outputUpload?: boolean;
    outputRetention?: string;
    skipBuildNumberBump?: boolean;
    certificate?: string;
    iosProvisioningProfile?: string[];
    overwriteIosProvisioningMap?: boolean;
    p12Password?: string;
    appleKey?: string;
    appleKeyId?: string;
    appleIssuerId?: string;
    appleTeamId?: string;
    iosDistribution?: 'app_store' | 'ad_hoc';
    keystore?: string;
    keystoreAlias?: string;
    keystoreKeyPassword?: string;
    keystoreStorePassword?: string;
    playConfig?: string;
    androidFlavor?: string;
}
/**
 * Provisioning map entry: stores the base64-encoded profile and its extracted name
 */
interface ProvisioningMapEntry {
    profile: string;
    name: string;
}
/**
 * Build a provisioning map from --ios-provisioning-profile entries.
 *
 * Each entry is either:
 *   - "bundleId=path" (explicit bundle ID assignment)
 *   - "path" (auto-infer bundle ID by matching mobileprovision against pbxproj targets)
 */
export declare function buildProvisioningMap(entries: string[], projectDir?: string): Record<string, ProvisioningMapEntry>;
/**
 * Save build credentials locally
 *
 * SECURITY NOTE:
 * - Credentials are saved to ~/.capgo-credentials/credentials.json on YOUR local machine only
 * - When you run a build, credentials are sent to Capgo's build servers
 * - Credentials are NEVER stored permanently on Capgo servers
 * - They are automatically deleted after build completion
 */
export declare function saveCredentialsCommand(options: SaveCredentialsOptions): Promise<void>;
/**
 * List saved credentials (masked for security)
 */
export declare function listCredentialsCommand(options?: {
    appId?: string;
    local?: boolean;
}): Promise<void>;
/**
 * Clear saved credentials
 */
export declare function clearCredentialsCommand(options: {
    appId?: string;
    platform?: 'ios' | 'android';
    local?: boolean;
}): Promise<void>;
/**
 * Update existing credentials (partial update, no full validation)
 * Use this to update specific credentials without providing all of them again
 */
export declare function updateCredentialsCommand(options: SaveCredentialsOptions): Promise<void>;
/**
 * Build a migration map from a single legacy base64 provisioning profile.
 *
 * Takes the legacy BUILD_PROVISION_PROFILE_BASE64 value and a bundle ID,
 * extracts the profile name, and returns a JSON-serialized provisioning map.
 */
export declare function buildMigrationMap(profileBase64: string, bundleId: string): string;
/**
 * Migrate legacy provisioning profile credentials to the new map format.
 *
 * Reads saved credentials, finds the legacy BUILD_PROVISION_PROFILE_BASE64,
 * discovers the main bundle ID from the local pbxproj, synthesizes the map,
 * saves it, and removes old keys.
 */
export declare function migrateCredentialsCommand(options: {
    appId?: string;
    platform?: string;
    local?: boolean;
}): Promise<void>;
export {};
