///
export class Request extends fetch.Request {
_rawStream(): NodeJS.ReadableStream | null;
/**
* @type {ReadableStream|null}
*/
get body(): ReadableStream | null;
json(): Promise;
formData(): Promise;
}
export class Response extends fetch.Response {
_rawStream(): NodeJS.ReadableStream | null;
/**
* @type {ReadableStream|null}
*/
get body(): ReadableStream | null;
json(): Promise;
formData(): Promise;
}
/**
* @template State
*/
export class Service {
/**
* @param {http.Server} server
* @param {State} state
* @param {(request:Request, state:State) => Promise} handler
*/
constructor(server: http.Server, state: State, handler: (request: Request, state: State) => Promise);
server: http.Server;
state: State;
handler: (request: Request, state: State) => Promise;
/**
* @param {http.IncomingMessage} incoming
* @param {http.ServerResponse} outgoing
*/
onrequest(incoming: http.IncomingMessage, outgoing: http.ServerResponse): Promise;
get address(): {
port: number;
host: string;
};
get url(): URL;
}
export function listen(service: Service, port?: number | undefined): Promise;
export function activate(state: State, handler: (request: Request, state: State) => Promise): Promise>;
export function deactivate(service: Service): void;
export type Source = {
body: ReadableStream | null;
};
import fetch from "@web-std/fetch";
import { Headers } from "@web-std/fetch";
import http from "http";
import { ReadableStream as ReadableStream_1 } from "@web-std/blob";
export { fetch, Headers };
//# sourceMappingURL=mock-server.d.mts.map