export type RemoteCredentialsPlatform = 'ios' | 'android';
export type RemoteCredentialsMode = 'replace' | 'merge';
export interface RemoteCredentialsBaseOptions {
    apikey?: string;
    apiHost?: string;
    platform?: string;
}
export interface PushRemoteCredentialsOptions extends RemoteCredentialsBaseOptions {
    mode?: string;
    local?: boolean;
    global?: boolean;
}
export interface DeleteRemoteCredentialsOptions extends RemoteCredentialsBaseOptions {
    yes?: boolean;
}
export interface RemoteCredentialsSummary {
    platform: RemoteCredentialsPlatform;
    keys: string[];
    missing: string[];
    ios_distribution?: string;
    app_store_connect_team_id?: string;
    ios_upload_auth?: string;
    provisioning_profiles?: Array<{
        bundle_id: string;
        name: string;
        expires_at: string | null;
    }>;
    play_store_upload?: boolean;
    custom_build_env_keys?: string[];
}
export interface RemoteCredentialsStatus {
    app_id: string;
    platforms: Array<{
        platform: RemoteCredentialsPlatform;
        configured: boolean;
        created_at?: string;
        updated_at?: string;
        summary?: RemoteCredentialsSummary;
    }>;
}
export declare function parseRemotePlatform(value: string | undefined, required?: boolean): RemoteCredentialsPlatform | undefined;
export declare function parseRemoteMode(value: string | undefined): RemoteCredentialsMode;
/** Drops undefined/non-string values from the saved credentials before upload. */
export declare function toRemoteCredentialsPayload(saved: Record<string, unknown>): Record<string, string>;
export declare function pushRemoteCredentials(appIdArg: string | undefined, options: PushRemoteCredentialsOptions): Promise<{
    summary: RemoteCredentialsSummary;
    updated_at: string;
}>;
export declare function getRemoteCredentialsStatus(appIdArg: string | undefined, options: RemoteCredentialsBaseOptions): Promise<RemoteCredentialsStatus>;
export declare function deleteRemoteCredentials(appIdArg: string | undefined, options: DeleteRemoteCredentialsOptions): Promise<{
    deleted: boolean;
} | null>;
export declare const pushRemoteCredentialsCommand: (appIdArg: string | undefined, options: PushRemoteCredentialsOptions) => Promise<void>;
export declare const remoteCredentialsStatusCommand: (appIdArg: string | undefined, options: RemoteCredentialsBaseOptions) => Promise<void>;
export declare const deleteRemoteCredentialsCommand: (appIdArg: string | undefined, options: DeleteRemoteCredentialsOptions) => Promise<void>;
