import FormData from 'form-data';
export declare enum ScriptCommand {
    'start' = "start",
    'build' = "build",
    'upload' = "upload",
    'release' = "release"
}
export type CalcSize = {
    root: string;
    sizes: {
        [key: string]: number;
    };
};
export declare enum TemplateType {
    Local = "Local",
    Remote = "Remote"
}
export declare enum EConfigType {
    Global = "Global",
    Plugin = "Plugin"
}
export interface IRunCommandArgs {
    name?: string;
    pluginId?: string;
    options?: any;
    type?: featureType | ConfigType;
    key?: string;
    value?: string;
}
export type WebpackMode = 'development' | 'production';
export type GlobalConfigKey = 'secret' | 'certificate';
export type PluginConfigKey = 'domain' | 'version' | 'pluginID' | 'pluginSecret';
export type ConfigKey = GlobalConfigKey | PluginConfigKey;
export type subCommandType = 'init' | 'addFeature' | 'config';
export type featureType = 'tab' | 'board' | 'view' | 'button' | 'dashBoard' | 'control' | 'integration';
export type ConfigType = 'set' | 'get' | 'remove' | 'list';
export interface Certificate {
    key: string;
    cert: string;
    certIssuanceTime: number;
}
export interface YamlConfig {
    basic?: {
        version: string;
    };
    file?: Record<string, string>;
}
export interface GeneratorOptions {
    name: string;
    options: {
        force?: boolean;
        tag?: string;
        [k: string]: any;
    };
    targetDir: string;
}
export declare enum FileType {
    normal = 1,
    dev = 2,
    audit = 3
}
export interface UploadZipReq {
    domain: string;
    formData: FormData;
    token: string;
    type: FileType;
    pluginId: string;
}
