import 'reflect-metadata';
import { MethodusConfig, PluginEntry } from './config';
export interface IApp {
    set(key: string, value: any): void;
}
export declare class Server {
    app: any;
    config?: MethodusConfig;
    serverKey: string;
    _app: any;
    private httpServer;
    private port;
    private _plugins;
    private instanceId;
    constructor(port?: number | string, app?: any, httpServer?: any);
    makeid(): string;
    plugins(plugins: PluginEntry[]): this;
    configure(config: MethodusConfig): this;
    printlogo(): Promise<void>;
    useClient(_class: any): void;
    start(): Promise<this>;
    useClass(_class: any): void;
    kill(): void;
}
