import { RouteTable } from "worlds-fastest-router"; import { Request, Response, Message, ResponseInit } from "./Datagram/datagram-types.js"; import { IMachine } from "./Machine.js"; import { Subscription } from "./util/Subscription.js"; export declare type Handler = (request: Request) => Promise | ResponseInit; export declare type MessageHandler = (message: Message) => void; export declare class Server extends RouteTable implements IMachine { GET(pathTemplate: string, handler: Handler): void; POST(pathTemplate: string, handler: Handler): void; PATCH(pathTemplate: string, handler: Handler): void; PUT(pathTemplate: string, handler: Handler): void; DELETE(pathTemplate: string, handler: Handler): void; tryRequest(request: Request): Subscription | null; tryMessage(message: Message): void; onRequest(request: Request): Promise; }