import { AppMeta } from '@bdeefe/feishu-devtools-core/libs/types/commonData';
import { GetBlockitApiParameters, OpenHostParameters } from '../types/dev';
import Base from './base';
export interface BlockItem {
    name: string;
    value: string;
}
export default class Dev extends Base {
    constructor();
    returnSuccess<T = any>(code: number, data?: T): {
        code: number;
        msg: string;
        data?: T;
    };
    getAppMeta(blockTypeID: string, previewToken?: string): Promise<AppMeta>;
    getBlockitApi({ projectConfig, blockConfigMap, devServerHost, basePath, }: GetBlockitApiParameters): Promise<{
        getAppMeta: () => {
            code: number;
            msg: string;
            data?: {
                app_metas: {
                    app_base_info: {
                        app_id: string;
                        bot_id: string;
                        icon: string;
                        name: string;
                        openSchemaWhiteList: string[];
                        useOpenSchemaWhiteList: string[];
                        version: string;
                    };
                    extension_metas: {
                        app_id: string;
                        basic_lib_version: string;
                        ext_config: string;
                        extension_id: string;
                        meta: string;
                        schema_data: string;
                        update_description: string;
                        update_type: number;
                        version: string;
                    }[];
                }[];
            } | undefined;
        };
        getBlocks: () => {
            code: number;
            msg: string;
            data?: {
                blocks: {
                    name: {
                        'zh-CN': string;
                        'en-US': string;
                        'ja-JP': string;
                    };
                    appName: {
                        'zh-CN': string;
                        'en-US': string;
                        'ja-JP': string;
                    };
                    icon: string;
                    filledIcon: string;
                    outlinedIcon: string;
                    blockTypeID: string;
                    appid: string;
                }[];
            } | undefined;
        };
        getProjectConfig: () => import("@bdeefe/feishu-devtools-core/libs/types/commonData").ProjectInfo;
        getBlockConfig: (blockPath: string) => import("@bdeefe/feishu-devtools-core/libs/types/commonData").BlockInfo;
    }>;
    getBlockitDevMiddleware({ projectConfig, blockConfigMap, devServerHost, basePath, }: GetBlockitApiParameters): Promise<(req: {
        url: string;
    }, res: {
        send: Function;
    }, next: Function) => void>;
    openHost(params: OpenHostParameters): Promise<string>;
    getSafeSetting(appid: string): Promise<any>;
    getAppCSPConfig(appid: string): Promise<string>;
    updateServiceEnv(environment: string): void;
}
