type AntType = | 'undefined' | 'null' | 'boolean' | 'number' | 'bigint' | 'string' | 'symbol' | 'object' | 'array' | 'function' | 'cfunc' | 'closure' | 'promise' | 'generator' | 'prop' | 'err' | 'typedarray' | 'ffi' | 'ntarg'; type AntHost = | 'cygwin' | 'darwin' | 'dragonfly' | 'emscripten' | 'freebsd' | 'gnu' | 'haiku' | 'linux' | 'netbsd' | 'openbsd' | 'windows' | 'sunos' | 'os/2'; interface AntGcResult { heapBefore: number; heapAfter: number; usedBefore: number; usedAfter: number; freed: number; arenaBefore: number; arenaAfter: number; arenaFreed: number; } interface AntAllocResult { arenaSize: number; heapSize: number; freeBytes: number; usedBytes: number; totalBytes: number; } interface AntExternalMemory { buffers: number; code: number; collections: number; total: number; } interface AntStatsResult { arenaUsed: number; arenaSize: number; external: AntExternalMemory; cstack: number; rss?: number; virtualSize?: number; } interface AntRaw { typeof(t: unknown): number; } interface HttpContext { req: { method: string; uri: string; query: string; body: string; header(name: string): string | undefined; }; res: { header(name: string, value: string): void; status(code: number): void; body(body: string, status?: number, contentType?: string): void; html(body: string, status?: number): void; json(data: unknown, status?: number): void; notFound(): void; redirect(url: string, status?: number): void; }; set(key: string, value: unknown): void; get(key: string): unknown; } interface AntStatic { version: string; target: string; revision: string; buildDate: string; host: AntHost; inspect(...args: unknown[]): void; typeof(t: unknown): AntType | '??'; raw: AntRaw; gc(): AntGcResult; alloc(): AntAllocResult; stats(): AntStatsResult; sleep(seconds: number): void; msleep(milliseconds: number): void; usleep(microseconds: number): void; signal(signum: number, handler: (signum: number) => void): void; serve(port: number, handler?: (ctx: T) => void | Promise): number; } declare const Ant: AntStatic;