interface MockRequest { method?: string; url?: string; headers?: Record; body?: any; query?: Record; } interface MockResponse { statusCode: number; setHeader: (name: string, value: string) => void; end: (text?: string) => void; } interface MockHandler { (req: MockRequest, res: MockResponse): void; } interface MiddlewareHandler { (req: MockRequest, res: MockResponse, next: () => void): void; } interface MockApp extends MockHandler { get: (path: string, handler: MockHandler) => MockApp; post: (path: string, handler: MockHandler) => MockApp; put: (path: string, handler: MockHandler) => MockApp; patch: (path: string, handler: MockHandler) => MockApp; delete: (path: string, handler: MockHandler) => MockApp; use: (handler: MiddlewareHandler) => MockApp; } interface SupertestResponse { status: number; headers: Record; text: string; body?: any; } interface SupertestBuilder { set(name: string, value: string): SupertestBuilder; send(payload: any): SupertestBuilder; expect(status: number): SupertestBuilder; end(): Promise; } interface SupertestClient { get(path: string): SupertestBuilder; post(path: string): SupertestBuilder; put(path: string): SupertestBuilder; patch(path: string): SupertestBuilder; delete(path: string): SupertestBuilder; } export declare function createMockApp(): MockApp; export declare function supertest(app: MockApp): SupertestClient; export {}; //# sourceMappingURL=httpTest.shim.d.ts.map