import { IMaterialItem, IWebRuntimeAppData } from '@cloudbase/lowcode-generator/lib/weapps-core';
import { BuildType, WebpackModeType } from '../types/common';
import { RUNTIME } from '../../types';
export declare const PERSISTENT_DEPENDIENCES_MAP: {};
export declare const OUTPUT_DIR = "preview";
export interface IMpConfig {
    origin: string;
    entry: string;
    router: Record<string, string[]>;
    redirect: {
        notFound: string;
        accessDenied: string;
    };
    generate: {
        app: 'default' | 'noemit' | 'noconfig';
        appEntry?: string;
        subpackages?: Record<string, string[]>;
    };
    runtime: {
        wxComponent: 'default' | 'noprefix';
    };
    app: {
        navigationBarTitleText?: string;
    };
    projectConfig: {
        appid: string;
        projectname: string;
    };
    packageConfig: {
        author: string;
    };
}
export declare function fixAppJson(appBuildDir: string): Promise<void>;
export declare function generateWebpackWebBuildParamsFile({ appId, allAppDataList, appBuildDir, publicPath, mode, buildTypeList, assets, }: {
    appId: string;
    allAppDataList: IWebRuntimeAppData[];
    appBuildDir: string;
    publicPath?: string;
    mode: WebpackModeType;
    buildTypeList: BuildType[];
    assets: string[];
}): Promise<string>;
export interface IGenerateMpJsonConfigFileOpts {
    appKey?: string;
    generateMpType?: 'app' | 'subpackage';
}
export declare function generateKboneTabBarConfig(mpConfig: Record<string, any>, appBuildDir: any): Promise<void>;
export declare function downloadAndWriteTabBarIcon(iconPath: any, pagePath: any, appBuildDir: string, fileName: string): Promise<unknown>;
export declare function getMainAppDataByList(allAppDataList: IWebRuntimeAppData[]): IWebRuntimeAppData | undefined;
export declare function getHomePageInstance(pageInstanceList: any): any;
export declare function getPageName(name: string): string;
export declare function getWebpackWebBuildParams(appId: string, appBuildDir: string, publicPath?: string, mode?: WebpackModeType, buildTypeList?: BuildType[], extraDefine?: {}, assets?: string[]): any;
export declare function downloadAndInstallDependencies(dependencies: IMaterialItem[] | undefined, materialsDir: string, installOptions?: IInstallOpts): Promise<void>;
export declare function downloadDependencies(targetDir: string, srcZipUrl: string): Promise<void>;
/**
 *
 * @param targetDir 目标目录
 * @param packageName 包名，如果不传则默认安装全部包
 */
export interface IInstallOpts {
    packageName?: string;
    latest?: boolean;
    runtime?: RUNTIME;
    ignoreInstall?: boolean;
    isDependence?: boolean;
    dependenceMeta?: {
        name: string;
        version: string;
        downloadUrl: string;
    };
    fixNodeModulesMap?: IFixNodeModulesMap;
}
export declare function installDependencies(targetDir: string, options?: IInstallOpts): Promise<void>;
interface IFixNodeModulesMap {
    mobx?: boolean;
    '@cloudbase/js-sdk'?: boolean;
}
export declare function getMaterialNodeModulesPathList(dependencies: IMaterialItem[] | undefined, materialsDir: string, base?: string): string[];
export declare function generateWebpackWebDevServerFile({ appBuildDir, buildTypeList }: {
    appBuildDir: any;
    buildTypeList: any;
}): Promise<void>;
export declare function downloadAssets(targetDir: string, assetUrl: string): Promise<unknown>;
export {};
