import { Recorder } from '../../../utils/progressRecorder';
import { IMiniApp, MiniProgramCore } from '../../../types';
import { IEntitlements } from '../../../utils/codesign';
import II18NInfo = IMiniApp.II18NInfo;
type ITheme = 'Light' | 'LightSpecial' | 'Dark' | 'DarkSpecial' | 'Default';
type IOpenMimeTypes = {
    CFBundleTypeName: string;
    LSHandlerRank: 'Owner' | 'Default' | 'Alternate' | 'None';
    CFBundleTypeRole: 'Editor' | 'Viewer' | 'Shell' | 'None';
    LSItemContentTypes: string[];
}[];
export declare const remoteBuildProjectMaterialAbsoluteCacheDir = "__absoluteFile";
export interface IBuildCloudResult {
    projectPath: string;
    demoIpaPath: string;
    opts: {
        output: string;
        entitlements?: IEntitlements;
        bundleId?: string;
    };
    iosMiniappJson: any;
    isPublish: boolean;
}
declare class buildCloudManager {
    generateTempDemoIpaPath(demoIpaPath: string): string;
    generateInfoPlistCFBundleURLTypesItem(miniappJsonCFBundleURLTypes: MiniProgramCore.IStringKeyMap): any;
    updatePrivacyBackgroundImage(projectPath: string, demoIpaPath: string, recorder: Recorder, type: 'contentViewImage' | 'cancelButtonImage' | 'confirmButtonImage', imagePath: string): void;
    updateIOSInfoPlistInfo(projectPath: string, bindAppInfo: MiniProgramCore.IStringKeyMap, demoIpaPath: string, iosMiniappJson: MiniProgramCore.IStringKeyMap, recorder: Recorder, i18nInfo: II18NInfo): Promise<any>;
    getBundleIdentifier(mobileapp_info: MiniProgramCore.IStringKeyMap): any;
    validateCFBundleDocumentTypes(openMimeTypes: IOpenMimeTypes, recorder: Recorder): boolean;
    useGDT(iosMiniappJson: MiniProgramCore.IStringKeyMap): any;
    updateIOSAppConfigPlistInfo(projectPath: string, bindAppInfo: MiniProgramCore.IStringKeyMap, demoIpaPath: string, iosMiniappJson: MiniProgramCore.IStringKeyMap, sdkPath: string, isSimulator: boolean, recorder: Recorder, theme: ITheme | undefined, i18nInfo: II18NInfo): Promise<void>;
    updateIOSAppexInfoPlistInfo(bindAppInfo: MiniProgramCore.IStringKeyMap, demoIpaPath: string, iosMiniappJson: MiniProgramCore.IStringKeyMap, CFBundleVersion: number, recorder: Recorder): Promise<void>;
    private updateBundleIcons;
    updateIOSIcons(projectPath: string, demoIpaPath: string, miniappCacheDirPath: string, iosMiniappJson: MiniProgramCore.IStringKeyMap, isPublish: boolean, recorder: Recorder, inLandun?: boolean, cacheAssetCarPath?: string): Promise<void>;
    replaceLaunchScreenImage(storyboardPath: string, newScreenImagePath: string, oldScreenImageName: string, recorder: Recorder, projectPath: string, demoIpaPath: string): string | undefined;
    updateSplashScreen(projectPath: string, demoIpaPath: string, iosMiniappJson: MiniProgramCore.IStringKeyMap, recorder: Recorder, theme: ITheme | undefined, i18nInfo: II18NInfo): Promise<void>;
    genUseExtendedSdk(iosMiniappJson: MiniProgramCore.IStringKeyMap, debugInfo?: IMiniApp.IDebugInfo): MiniProgramCore.IStringKeyMap<any>;
    updateExtendedSdk(bindAppInfo: MiniProgramCore.IStringKeyMap, demoIpaPath: string, sdkPath: string, arch: string, iosMiniappJson: MiniProgramCore.IStringKeyMap, debugInfo: IMiniApp.IDebugInfo | undefined, recorder: Recorder): Promise<void>;
    updatePrivacyInfo(demoIpaPath: string, iosMiniappJson: MiniProgramCore.IStringKeyMap, recorder: Recorder): Promise<void>;
    updatePlugin(demoIpaPath: string, pluginDirList: IMiniApp.IIOSPluginDir[], projectPath: string, iosMiniappJson: MiniProgramCore.IStringKeyMap, miniappCacheDirPath: string, isPublish: boolean, CFBundleVersion: string, recorder: Recorder): Promise<void>;
    copyUserResourcePathIntoPlugins(pluginId: string, projectPath: string, configResourcePath: string, configResourceObject: {
        [key: string]: string;
    }, distFrameworkPath: string, recorder: Recorder): void;
    copyResourcesToMainBundle(srcFrameworksPath: string, distFrameworkPath: string): void;
    prepareAppexProfileConfig(pluginDirList: IMiniApp.IIOSPluginDir[], iosMiniappJson: MiniProgramCore.IStringKeyMap, projectPath: string, miniappCacheDirPath: string, isPublish: boolean, CFBundleVersion: string, CFBundleShortVersionString: string, recorder: Recorder): false | {
        [appexName: string]: {
            profilePath?: string | undefined;
            bundleID?: string | undefined;
            enable: boolean;
        };
    } | undefined;
    changeExtendSDKInfoplistBundleId(infoPlistPath: string, newBundleId: string, extendedName: string): any;
    changeInfoplistBundleId(infoPlistPath: string, newBundleId: string): any;
    changeInfoplistBundleVersion(infoPlistPath: string, bundleVersion: string, bundleShortVersion: string): any;
    getEntitlements(bindAppInfo: MiniProgramCore.IStringKeyMap, _demoIpaPath: string, _iosMiniappJson: MiniProgramCore.IStringKeyMap, _recorder: Recorder): Promise<{
        'com.apple.developer.associated-domains': string;
    }>;
    polyfillUniversalLink(url: string): string;
    useTpush(iosMiniappJson: MiniProgramCore.IStringKeyMap): any;
    buildCloud(args: IMiniApp.IIOSBuildCloudArgs, recorder: Recorder): Promise<IBuildCloudResult>;
    writeI18NInfoFile(demoIpaPath: string, i18nInfo: II18NInfo, iosI18NField: Record<string, string>): Promise<void>;
    getMaterialFilePath(projectPath: string, relativeTargetPath: string): string;
    updateIOSAppResource(projectPath: string, demoIpaPath: string, iosMiniappJson: MiniProgramCore.IStringKeyMap, recorder: Recorder): void;
    copyDirectory(sourceDir: string, targetDir: string, overWrite?: boolean): void;
}
declare const _default: buildCloudManager;
export default _default;
