///
///
import type { ServerResponse, OutgoingMessage, IncomingMessage } from 'http';
import type { Writable } from 'stream';
import type { Response } from 'express';
import type { EventEventEmitter } from '../index.js';
import type { Mock } from 'vitest';
interface StreamWritable extends EventEventEmitter {
writable?: Writable['writable'];
writableEnded?: Writable['writableEnded'];
writableFinished?: Writable['writableFinished'];
writableHighWaterMark?: Writable['writableHighWaterMark'];
writableLength?: Writable['writableLength'];
writableObjectMode?: Writable['writableObjectMode'];
writableCorked?: Writable['writableCorked'];
destroyed?: Writable['destroyed'];
_write?: Mock;
_writev?: Mock;
_destroy?: Mock;
_final?: Mock;
write?: Mock;
setDefaultEncoding?: Mock;
end?: Mock;
cork?: Mock;
uncork?: Mock;
destroy?: Mock;
addListener?: Mock;
emit?: Mock;
on?: Mock;
once?: Mock;
prependListener?: Mock;
prependOnceListener?: Mock;
removeListener?: Mock;
}
interface HttpOutgoingMessage extends StreamWritable {
req?: Partial;
chunkedEncoding?: OutgoingMessage['chunkedEncoding'];
shouldKeepAlive?: OutgoingMessage['shouldKeepAlive'];
useChunkedEncodingByDefault?: OutgoingMessage['useChunkedEncodingByDefault'];
sendDate?: OutgoingMessage['sendDate'];
finished?: OutgoingMessage['finished'];
headersSent?: OutgoingMessage['headersSent'];
connection?: Partial;
socket?: Partial;
setTimeout?: Mock;
setHeader?: Mock;
getHeader?: Mock;
getHeaders?: Mock;
getHeaderNames?: Mock;
hasHeader?: Mock;
removeHeader?: Mock;
addTrailers?: Mock;
flushHeaders?: Mock;
}
interface HttpServerResponse extends HttpOutgoingMessage {
statusCode?: ServerResponse['statusCode'];
statusMessage?: ServerResponse['statusMessage'];
assignSocket?: Mock;
detachSocket?: Mock;
writeContinue?: Mock;
writeHead?: Mock;
writeProcessing?: Mock;
}
export interface MockResponse extends HttpServerResponse {
status?: Mock;
sendStatus?: Mock;
links?: Mock;
send?: Mock;
json?: Mock;
jsonp?: Mock;
sendFile?: Mock;
sendfile?: Mock;
download?: Mock;
contentType?: Mock;
type?: Mock;
format?: Mock;
attachment?: Mock;
set?: Mock;
header?: Mock;
headersSent?: Response['headersSent'];
get?: Mock;
clearCookie?: Mock;
cookie?: Mock;
location?: Mock;
redirect?: Mock;
render?: Mock;
locals?: Partial;
charset?: Response['charset'];
vary?: Mock;
app?: Partial;
append?: Mock;
req?: Partial;
[key: string]: any;
}
export {};