import { Router } from "./router"; import type { Handler, ListenOptions, RouterOptions, BunWayLogger } from "../types"; export interface BunWayOptions extends RouterOptions { settings?: Record; } export type TrustProxyValue = boolean | number | string | string[] | ((ip: string, i: number) => boolean); export interface AppSettings { "view engine"?: string; "views"?: string; "trust proxy"?: TrustProxyValue; "json spaces"?: number; "case sensitive routing"?: boolean; "strict routing"?: boolean; "etag"?: boolean | "weak" | "strong" | ((body: string | Buffer, encoding?: string) => string); "x-powered-by"?: boolean; "env"?: string; "logger"?: BunWayLogger; [key: string]: unknown; } export declare class BunWayApp extends Router { private settings; locals: Record; private engines; private _server; private _mountpath; private _parent?; constructor(options?: BunWayOptions); /** * The path pattern(s) on which a sub-app was mounted. * Express compat: app.mountpath */ get mountpath(): string; set mountpath(value: string); /** * Returns the canonical path of the app, based on mountpath. * Express compat: app.path() */ path(): string; set(setting: string, value: unknown): this; get(setting: string): unknown; get(path: string | RegExp, ...handlers: Handler[]): this; enable(setting: string): this; disable(setting: string): this; enabled(setting: string): boolean; disabled(setting: string): boolean; engine(ext: string, fn: (path: string, options: Record, callback: (err: Error | null, html?: string) => void) => void): this; getEngine(ext: string): ((path: string, options: Record, callback: (err: Error | null, html?: string) => void) => void) | undefined; getSettings(): Readonly; getLogger(): BunWayLogger; get server(): ReturnType | null; close(callback?: () => void): Promise; listen(port?: number, callback?: () => void): ReturnType; listen(options?: ListenOptions, callback?: () => void): ReturnType; private handleWebSocketUpgrade; private runUpgradePipeline; } export declare function bunway(options?: BunWayOptions): BunWayApp; //# sourceMappingURL=app.d.ts.map