import { IncomingMessage, ServerResponse } from "node:http"; //#region src/index.d.ts type JsonBody = Record; type RouteResult = [number, unknown]; type RouteFunction = (body: JsonBody, req: IncomingMessage) => Promise; type RouteHandler = (request: IncomingMessage, response: ServerResponse) => void | Promise; interface ConnectionGate { requestRejection: (request: IncomingMessage) => 401 | 403 | undefined; } declare class HttpError extends Error { readonly statusCode: number; constructor(message: string, statusCode: number); } /** Apply DSH's browser trust and authentication boundary before route logic. */ declare function withConnectionAuth(connection: ConnectionGate | undefined, handler: RouteHandler, _pluginName?: string): RouteHandler; declare function readJsonBody(request: IncomingMessage, limit?: number): Promise; declare function sendJson(response: ServerResponse, status: number, payload: unknown, headers?: Record): void; declare function routeHandler(fn: RouteFunction, { mutate }?: { mutate?: boolean; }): RouteHandler; declare function isSameOriginJsonRequest(request: IncomingMessage): { ok: true; } | { ok: false; status: number; error: string; }; declare function sameOrigin(request: IncomingMessage): boolean; declare function respond(response: ServerResponse, status: number, payload: unknown): void; declare function safeWebUrl(value: unknown): string | null; declare function openUrl(url: string): Promise; /** * dsh-tauri 宿主侧(node half):纯浏览器插件,无宿主行为。 * loader 按行名导入包根时需要一个可挂载的插件入口。 */ declare function apply(): void; //#endregion export { ConnectionGate, HttpError, JsonBody, RouteFunction, RouteHandler, RouteResult, apply, isSameOriginJsonRequest, openUrl, readJsonBody, respond, routeHandler, safeWebUrl, sameOrigin, sendJson, withConnectionAuth };