import { AppType } from './commonData';
import { CommonOptions } from './index';
export declare enum GadgetPlatform {
    Mobile = "mobile",
    PC = "pc"
}
export declare enum GadgetPCMode {
    Sidebar = "sidebar",
    AppCenter = "appcenter",
    Window = "window",
    WindowSemi = "window-semi"
}
export declare const MAX_PKG_SIZE = 10;
export declare const MAX_POLLING_RETRY_COUNT = 150;
export declare const MAX_PACKAGE_SIZE: number;
export declare const MAX_USE_SUB_PACKAGE_SIZE: number;
export declare const MAX_SUB_PACKAGE_SIZE: number;
export declare const MAX_PLUGIN_PACKAGE_SIZE: number;
export declare const MAX_H5_OFFLINE_PACKAGE_SIZE: number;
export interface CompressOptions {
    version: string;
    platform: GadgetPlatform;
    appId: string;
    compilePath: string;
    maxPkgSize?: number;
    compileType?: string;
    globs?: string[];
    ignore?: string[];
    appType?: AppType;
    useNPM?: boolean;
}
export interface Progress {
    progress?: number;
    step: string;
    stepProportion?: number;
    done?: boolean;
    status?: 'success' | 'fail';
}
export interface ProjectConfig {
    appid: string;
    projectname: string;
}
export interface AppConfig {
    pages: string[];
    ext?: {
        defaultPages?: {
            PCMode?: string;
        };
    };
}
interface UploadBaseOptions extends CommonOptions {
    compilePath: string;
    version?: string;
    description?: string;
}
export interface UploadGadgetOptions extends UploadBaseOptions {
    platform?: string;
    useNPM?: boolean;
    traceId?: string;
}
export interface UploadBlockOptions extends UploadBaseOptions {
    blockTypeId?: string;
    extensionSubType?: 'block_h5' | 'block_dsl';
    traceId?: string;
}
export interface GadgetFormData {
    platform: GadgetPlatform;
    packagePath: string;
    description: string;
    version: string;
    isPCMode?: boolean;
    miniMode: number;
}
export interface GadgetPreviewFormData {
    platform: GadgetPlatform;
    mode: GadgetPCMode | void;
    packagePath: string;
    miniMode: number;
    startPage: string;
    traceId?: string;
}
export interface GadgetPluginFormData {
    packagePath: string;
    description: string;
    version: string;
}
export declare enum VersionIncrement {
    major = "major",
    minor = "minor",
    patch = "patch"
}
export type ExtensionSubType = 'block_h5' | 'block_dsl';
export {};
