///
import Response from './response';
import { pathMatch } from './util.path-match';
import * as Router from './router';
import * as Info from './info';
import { Config, Extends } from './index';
import { saveFile, getUrl, getPath } from './server.multipart';
import * as http from 'http';
import { VirtualRequest } from './server.virtual';
import { ExtendedObject } from './info';
/**
* 解析获取路由信息
* @param {Array} path 路径数组
* @param {String | Function} rf 模块名称或路由函数
* @param {String} appId 应用ID
* @param {String} method 采用的方法
* @this {Function} getRouter 路由函数转换函数
* @yield {Function} 处理函数
*/
export declare function funcRoute(path: string[], rf: string | Router.Router, appId: string, method: string, getRouter: Router.get, restful?: object): IterableIterator>;
export declare function exec(extendsInt: Extends, func: Router.ExecFunc, data: object, info: Info.Info, appId: string, cb?: string): Promise | undefined>;
interface serverThis {
extends: Extends;
match: pathMatch;
cbName: string;
config: Config;
getRouter: Router.get;
getInfo: Info.createInfo;
saveFile: saveFile;
getUrl: getUrl;
getPath: getPath;
}
export interface server {
(path: string, query: object, IncomingMessage: http.IncomingMessage | VirtualRequest, opt: Info.Opt, saveFile?: saveFile, getUrl?: getUrl, getPath?: getPath): Promise;
}
/**
* 动态处理
* @param {String} path 路径
* @param {Object} query 请求的query
* @param {Object} body 请求的body
* @param {Object} opt userInfo的参数
*/
export declare function server(this: serverThis | void, path: string, query: object, request: http.IncomingMessage | VirtualRequest, opt: Info.Opt, saveFile?: saveFile, getUrl?: getUrl, getPath?: getPath): Promise;
export default function init(config: Config, match: pathMatch, getRouter: Router.get, getInfo: Info.createInfo): server;
export {};