import 'reflect-metadata';
import { MethodusConfig } from './config';
import { MethodEvent } from './response/';
export interface IApp {
    set(key: any, value: any): any;
}
export declare class Server {
    app: any;
    private _app;
    private httpServer;
    private port;
    private _plugins;
    config: MethodusConfig;
    private instanceId;
    serverKey: string;
    constructor(port?: number | string, app?: any, httpServer?: any);
    makeid(): string;
    plugins(plugins: string[]): this;
    configure(config: MethodusConfig): this;
    printlogo(): Promise<{}>;
    start(port?: number): Promise<this>;
    useClass(_class: any): void;
    kill(): void;
    _send(channel: any, params: any, message: any, parametersMap: any, securityContext: any): Promise<any>;
    registerEvent(channel: any, eventName: any): Promise<any>;
    sendEvent(methodEvent: MethodEvent): Promise<void>;
}
