import { IFnConfig } from './fn.js';
export { Fn } from './fn.js';
import { IRpcServerConfig, BaseRpcServer } from './server.js';
export { LifeCycleConfig } from './server.js';
export { Plugable, Strategy } from './plugin.js';
export { IProxyConfig, Proxy } from './proxy.js';
export { JSONValue, getHttpMethods, isArrowFunction, isObject, log, mergeDeep } from './utils.js';
import 'http2';
import 'http';
import 'koa';

declare const combine: any;
interface IServerConfig {
    base?: string;
    fn?: IFnConfig;
}
type IIndexServerConfig = IRpcServerConfig & IServerConfig;
declare class RpcServer extends BaseRpcServer {
    private fnPlugin;
    base: any;
    before: any;
    after: any;
    constructor(cfg?: IIndexServerConfig);
    fn(key: any, fun: any): void;
    add(items: any): void;
}
declare function createServer(cfg?: IIndexServerConfig): RpcServer;

export { BaseRpcServer, IFnConfig, type IIndexServerConfig, IRpcServerConfig, type IServerConfig, RpcServer, combine, createServer };
