import { Http2SecureServer, Http2Server } from "http2"; import EventEmitter = require("eventemitter3"); import express = require("express"); export interface MiddlewareDefs { prepend: any | any[]; append: any | any[]; } export declare class App { private static _instance; static get Instance(): App; newInstance(): App; constructor(); expressApp: express.Application; server: any; events: EventEmitter; on: (eventName: string, callback: EventEmitter.ListenerFn) => void; once: (eventName: string, callback: EventEmitter.ListenerFn) => void; off: (eventName: string, callback: EventEmitter.ListenerFn) => void; init: (middlewares?: MiddlewareDefs) => void; start: () => Http2Server | Http2SecureServer; kill: () => void; all: (...args: any[]) => any; get: (...args: any[]) => any; post: (...args: any[]) => any; put: (...args: any[]) => any; patch: (...args: any[]) => any; delete: (...args: any[]) => any; use: (...args: any[]) => any; set: (...args: any[]) => any; route: (reqPath: string) => express.IRoute; renderView: (req: express.Request, res: express.Response, view: string, options?: any, status?: number) => void; renderText: (req: express.Request, res: express.Response, text: any, status?: number) => void; renderJson: (req: express.Request, res: express.Response, data: any, status?: number) => void; renderImage: (req: express.Request, res: express.Response, filename: string, options?: any) => void; renderError: (req: express.Request, res: express.Response, error: any, status?: number | string) => void; } declare const _default: App; export default _default;