import { IError } from "polka"; import type { Bootstrapper } from "../../Contracts/Foundation/Boostrapper"; import type { Middleware } from "../../Contracts/Http/Middleware"; import { Request } from "../../Http/Request"; import HttpResponse from "../../Http/Response"; import type { Class, ObjectOf } from "../../Types"; import type Application from "../Application"; declare class Kernel { protected app: Application; protected middleware: (Middleware | Class)[]; protected middlewareGroups: ObjectOf<(Middleware | Class)[]>; protected routeMiddleware: ObjectOf>; protected bootstrappers: Class[]; constructor(app: Application); start(): Promise; private handleMiddleware; private send; protected reportException(e: string | IError): void; protected renderException(req: Request, e: string | IError): Promise; } export default Kernel;