import { App, Frontend, BusinessComponent, NASLObject } from '../../concepts';
import { InternalReleaseData } from './internal';
/**
 * 替换端类型中的资源
 * @param frontendTypes
 * @param fn
 */
export declare function replaceFrontendTypesAssets(frontendTypes: readonly NASLObject.FrontendTypeObject[], fn: (node: any, key: string, attr: string) => void): void;
export declare function replaceAssets(app: App, json: NASLObject.AppObject, opt?: InternalReleaseData): void;
/** 获取全量标注数据 */
export declare function __getNaslAnnotatedJSON(app: App, opt?: InternalReleaseData): Promise<any>;
export declare function addEntityToDefaultDS(app: App, defaultDS: any): void;
/**
 * 获取全量标注文件
 * @description 数据将会被 stringify
 */
export declare function getNaslAnnotatedJSONFile(app: App, opt: InternalReleaseData): Promise<{
    name: string;
    content: string;
}>;
export declare function getFrontendBundleFiles(app: App, opt: InternalReleaseData): Promise<any[]>;
export declare function genReleaseBody(_app: App, opt: InternalReleaseData): Promise<{
    logicPageResourceDtoList: {
        [key: string]: {
            path: string;
            type: "component" | "page";
        }[][];
    };
    processFormDefinitions: {
        keys: string[];
        content: string;
    }[];
    logicAuthFlag: boolean;
    reportIdList: string[];
    appId: string;
    env: string;
    branchId: string;
    replicas: number;
    pipelineVersion: string;
    appSpecification: number;
    callbackLogicsName: string[];
    frontends: {
        name: string;
        type: "pc" | "h5";
        path: string;
        selected: boolean;
        title: string;
    }[];
    callLogicValidations: {};
    downloadFileTasks: {};
    generatorConfig: string;
    files: {
        name: string;
        content: string;
    }[];
    roleList: import("node_modules/@lcap/nasl-concepts/out/concepts/Role__").Role[];
    resourceList: string[];
    resourceDataList: {
        value: string;
        description: string;
        type: "logic" | "component" | "page";
        clientType?: string;
    }[];
    roleResourceMappingList: {
        roleName: string;
        resourcePath: string;
    }[];
} & {
    frontCodeExtraConfig?: any;
}>;
export declare function genReleaseBodyForParallel(app: App, opt: InternalReleaseData): Promise<{
    releaseBody: {
        logicPageResourceDtoList: {
            [key: string]: {
                path: string;
                type: "component" | "page";
            }[][];
        };
        processFormDefinitions: {
            keys: string[];
            content: string;
        }[];
        logicAuthFlag: boolean;
        reportIdList: string[];
        appId: string;
        env: string;
        branchId: string;
        replicas: number;
        pipelineVersion: string;
        appSpecification: number;
        callbackLogicsName: string[];
        frontends: {
            name: string;
            type: "pc" | "h5";
            path: string;
            selected: boolean;
            title: string;
        }[];
        callLogicValidations: {};
        downloadFileTasks: {};
        generatorConfig: string;
        files: {
            name: string;
            content: string;
        }[];
        roleList: import("node_modules/@lcap/nasl-concepts/out/concepts/Role__").Role[];
        resourceList: string[];
        resourceDataList: {
            value: string;
            description: string;
            type: "logic" | "component" | "page";
            clientType?: string;
        }[];
        roleResourceMappingList: {
            roleName: string;
            resourcePath: string;
        }[];
    } & {
        frontCodeExtraConfig?: any;
    };
    app: App;
    opt: InternalReleaseData;
}>;
/**
 * 替换端和业务组件的资源前缀, 提供给generator-fe调用
 * 放在这里是为
 * 1、版本控制
 * 2、避免与replaceFrontendTypesAssets分散在两个地方
 */
export declare function replaceAssetsPrefix(frontends: Array<Frontend | BusinessComponent>, prefix: string): void;
//# sourceMappingURL=body.d.ts.map