import type { BuildOptions, BuildResult } from "esbuild"; import { IncomingMessage, ServerResponse } from "http"; import type { HttpMethod } from "./lib/server/handlers"; import type { awslambda } from "./lib/runtime/awslambda"; export interface OfflineConfig { staticPath?: string; port?: number; onReady?: (port: number, ip: string) => Promise | void; request?: { method?: HttpMethod | HttpMethod[]; filter: string | RegExp; callback: (req: IncomingMessage, res: ServerResponse) => Promise | void; }[]; } export interface Config { esbuild?: Omit & { format?: "cjs" | "esm"; }; shimRequire?: boolean; includeAwsSdk?: boolean; offline?: OfflineConfig; buildCallback?: (result: BuildResult, isRebuild: boolean) => Promise | void; afterDeployCallbacks?: (() => Promise | void)[]; afterPackageCallbacks?: (() => Promise | void)[]; } export interface ServerConfig { stage?: string; watch?: boolean; debug?: boolean; port?: number; onRebuild?: () => Promise | void; } declare global { const awslambda: awslambda; }