import { MethodType, ServerType, TransportType } from '../interfaces';
import { MethodusClassConfig } from './class-config';
import { MethodusClientConfig } from './client-config';
import { ServerConfig } from './server-config';
export interface PluginEntry {
    name: string;
    options: any;
}
export declare class MethodusConfig {
    classes: Map<string, MethodusClassConfig>;
    servers?: ServerConfig[];
    clients: Map<string, MethodusClientConfig>;
    plugins?: PluginEntry[];
    port: number;
    constructor(servers?: ServerConfig[], map?: Map<string, MethodusClassConfig>);
    useClient(classType: any, transportType: TransportType, resolver?: Promise<any> | string | any): void;
    use(classType: any, methodType: MethodType, serverType: ServerType, resolver?: Promise<any> | string | any): void;
    run(serverType: ServerType, configuration: any): void;
}
export declare class MethodusConfigurations {
    static _configurations: any;
    static add(configurationInstance: any): void;
    static get(): any;
}
