import type { CredentialsStoreName, CredentialsStores } from './credentials-store-selection';
import type { ProvisioningMap } from './ios-provisioning-map';
import type { PbxTarget } from './pbxproj-parser';
import { DuplicateProfileError, createProfile, deleteProfile, ensureBundleId, findCertBySha1, generateJwt, verifyApiKey } from './onboarding/apple-api';
import { openP12 } from './prescan/checks/ios-certs';
export interface IosProvisioningOptions {
    local?: boolean;
    global?: boolean;
}
export interface IosProvisioningProject {
    appId: string;
    targets: PbxTarget[];
}
export interface IosProvisioningCommandDeps {
    loadProject: () => Promise<IosProvisioningProject>;
    loadStores: (appId: string, options: IosProvisioningOptions) => Promise<CredentialsStores>;
    persistMap: (appId: string, source: CredentialsStoreName, map: ProvisioningMap) => Promise<void>;
    canPrompt: () => boolean;
    confirm: (message: string) => Promise<boolean>;
    logInfo: (message: string) => void;
    generateJwt: typeof generateJwt;
    verifyApiKey: typeof verifyApiKey;
    openP12: typeof openP12;
    findCertBySha1: typeof findCertBySha1;
    ensureBundleId: typeof ensureBundleId;
    createProfile: typeof createProfile;
    deleteProfile: typeof deleteProfile;
}
export declare function runIosProvisioningCommand(options: IosProvisioningOptions, deps: IosProvisioningCommandDeps): Promise<void>;
export declare function defaultIosProvisioningCommandDeps(): IosProvisioningCommandDeps;
export declare function iosProvisioningCommand(options: IosProvisioningOptions): Promise<void>;
export { DuplicateProfileError };
