export interface IMethodusClassConfig {
    methodType: MethodType;
    classType: any;
    serverType: ServerType;
}
export interface Router {
}
export interface IServer {
    sockets?: any;
    useClass(classType: any, methodType: MethodType): void;
    classRouters: Router[];
    config: IMethodusConfig;
    _send(channel: any, functionArgs: any, message: any, paramsMap?: any): any;
}
export interface IMethodusConfig {
    classes: Map<string, IMethodusClassConfig>;
    servers?: IServerConfig[];
    port: number;
}
export interface IServerConfig {
    type: ServerType;
    options: any;
}
export declare const enum MethodType {
    Local = "Local",
    Http = "Http",
    MQ = "MQ",
    Redis = "Redis",
    Socket = "Socket",
    Kafka = "Kafka",
    Mock = "Mock",
}
export declare const enum ServerType {
    Express = "express",
    ExpressPartial = "express",
    RabbitMQ = "amqp",
    Redis = "redis",
    Socket = "socketio",
    Kafka = "kafka",
}
