/// import * as express from 'express'; import { Hal } from './constants'; import { provides, hal } from './decorators'; import { Api } from './api'; import { Linker } from './linker'; import { Arguments } from './arguments'; export declare class Server { static linker: Linker; static api(decorator: boolean, target: Object): Api.Class; static api(decorator: boolean, target: Object, method: string | symbol): Api.Method; private static autodoc(app, args); private static register(server, handler); private static proto(target); static route(server: Object): express.Application; static discovery(req: express.Request, res?: express.Response, next?: express.NextFunction): Hal.Resource; } export declare namespace Server { interface Link extends hal.Overrides, provides.Options.Rel { verb: string; } namespace Link { const Discoverable: symbol; } interface Handler { name: string; args: Arguments.Method; } interface Route { verb: string; path: string; handler: Handler; } const App: symbol; const Class: symbol; const Methods: symbol; }