declare module '@gm5/core' { import { Server } from 'http' import Request from '@gm5/request' import Response from '@gm5/response' declare type Mountable = string[] interface Middleware { (req: Request, res: Response, next: () => void): void } interface Installable { name: string install: (args?: Record) => any } export default class Five { get server(): Server set(obj: object): this get(key: string): any use(middleware: Middleware | Installable | Mountable, args?: Record): this listen(port?: number, callback?: () => void): this } export function mount(dir?: string): Mountable export function createApp(conf?: object): Five }