/// import type Route from './router/route.js'; import type Server from './server.js'; import type { AnyArguments, AppOptions, ClientOptions, Decoration, Hook, MojoAction, MojoContext, MojoStash, Plugin, RouteArguments, ServerRequestOptions, TestClientOptions } from './types.js'; import type { IncomingMessage, ServerResponse } from 'http'; import CLI from './cli.js'; import Client from './client.js'; import MockClient from './client/mock.js'; import TestClient from './client/test.js'; import File from './file.js'; import Hooks from './hooks.js'; import Logger from './logger.js'; import Mime from './mime.js'; import Renderer from './renderer.js'; import Router from './router.js'; import Session from './session.js'; import Static from './static.js'; import Ajv from 'ajv'; export default class App { cli: CLI; client: Client; config: MojoStash; detectImport: boolean; exceptionFormat: string; hooks: Hooks; home: File; log: Logger; mime: Mime; models: MojoStash; renderer: Renderer; router: Router; secrets: string[]; session: Session; static: Static; validator: Ajv; _contextClass: any; _mode: string; _server: WeakRef | null; constructor(options?: AppOptions); addHelper(name: string, fn: MojoAction): this; addHook(name: string, fn: Hook): this; any(...args: AnyArguments): Route; decorateContext(name: string, fn: Decoration): this; delete(...args: RouteArguments): Route; get(...args: RouteArguments): Route; handleRequest(ctx: MojoContext): Promise; get mode(): string; newContext(req: IncomingMessage, res: ServerResponse, options: ServerRequestOptions): MojoContext; newMockClient(options?: ClientOptions): Promise; newTestClient(options?: TestClientOptions): Promise; options(...args: RouteArguments): Route; patch(...args: RouteArguments): Route; plugin(plugin: Plugin, options?: MojoStash): any; post(...args: RouteArguments): Route; put(...args: RouteArguments): Route; get server(): Server | null; set server(server: Server | null); start(command?: string, ...args: string[]): any; under(...args: AnyArguments): Route; warmup(): Promise; websocket(...args: RouteArguments): Route; }