import type { Logger } from '@adonisjs/logger';
import type { Encryption } from '@boringnode/encryption';
import { IncomingMessage, ServerResponse } from 'node:http';
import { HttpResponse } from '../src/response.ts';
import { type Router } from '../src/router/main.ts';
import type { HttpRequest } from '../src/request.ts';
import { type ResponseConfig } from '../src/types/response.ts';
type FactoryParameters = {
    req: IncomingMessage;
    res: ServerResponse;
    encryption: Encryption;
    config: Partial<ResponseConfig>;
    router: Router;
    logger: Logger;
    request: HttpRequest;
};
/**
 * Response factory is used to generate response class instances for
 * testing
 */
export declare class HttpResponseFactory {
    #private;
    /**
     * Merge factory params
     * @param params - Partial factory parameters to merge
     */
    merge(params: Partial<FactoryParameters>): this;
    /**
     * Create response class instance
     */
    create(): HttpResponse;
}
export {};
