import { Response } from '../../../config/api';
import { CompressOptions, GadgetPlatform, VersionIncrement, ExtensionSubType } from '../../../types/upload';
import { Commands, ModuleName } from '../../../protocol';
import { Deps } from '../../../protocol/typeUtil';
import { BlockRenderType } from '../../../types/commonData';
type Execute = Commands<Deps<ModuleName.preview | ModuleName.upload>>;
declare class Upload {
    static checkLogin(execute: Execute): void;
    static checkAppId(appId: string, execute: Execute): void;
    static prepareCheck(compilePath: string, appId: string, execute: Execute): Promise<{
        appId: string;
        compilePath: string;
        projectConfig: object;
    }>;
    static readProjectConfig(compilePath: string): Promise<{
        appId: string;
        projectName: string;
        projectConfig: object;
    }>;
    static choosePlatform(defaultPlatform: string | undefined, execute: Execute): Promise<GadgetPlatform>;
    private static getGlobs;
    private static checkPackageSize;
    static compress(options: CompressOptions, execute?: Execute): Promise<string>;
    static zip(options: {
        cwd: string;
        globs?: string[];
        ignore?: string[];
        outputPath?: string;
    }): Promise<string>;
    static checkPermission(appId: string, execute: Execute): Promise<{
        is_admin: boolean;
        publish: number;
    }>;
    static checkCompileProgress(appId: string, type: 'gadgetCompileProgress' | 'blockCompileProgress' | 'gadgetPluginCompileProgress', execute: Execute, traceId?: string): Promise<void>;
    static getQRCodeUrl(appId: string, version: string, startPage: string, type: 'getGadgetQRCode' | 'getPCGadgetQRCode', execute: Execute): Promise<string>;
    static getQRCodeUrlForKA(appId: string, version: string, startPage: string, execute: Execute): Promise<string>;
    static isPCPlatform(platform: GadgetPlatform): boolean;
    static upload(type: 'previewMobileGadget' | 'previewPCGadget' | 'previewGadgetPlugin' | 'uploadMobileGadget' | 'uploadPCGadget' | 'uploadGadgetPlugin' | 'previewBlock' | 'uploadBlock', appId: string, params: {} & {
        appId?: string;
    }, options: {
        headers?: {};
        traceId?: string;
    }, execute: Execute): Promise<Response<void>>;
    static checkUploadResponds(uploadResponse: Response<void>): void;
    static versionRule: RegExp;
    static versionIncrement(oldVersion: string, type: VersionIncrement): string;
    static getMobileGadgetMode(compilePath: string): number;
    static getExtensionSubType(blockRenderType?: BlockRenderType): ExtensionSubType;
    static getAppJson(compilePath: string): any;
}
export default Upload;
