import { Headers } from '../../../lib/headers/Headers.js';
import { HttpRequest } from '../../../models/HttpRequest.js';
import { IRequestAuthorization } from '../../../models/RequestAuthorization.js';
export interface MessagePreparationContext {
    request: HttpRequest;
    hasProxy: boolean;
    isProxyTunnel: boolean;
    hostHeader?: string;
    defaultHeaders?: boolean;
    defaultUserAgent?: string;
    defaultAccept?: string;
    proxyUsername?: string;
    proxyPassword?: string;
    proxyAuthorization?: string;
    authorization?: IRequestAuthorization[];
}
/**
 * Prepares headers list to be sent to the remote machine.
 * If `defaultHeaders` option is set then it adds `user-agent` and `accept`
 * headers.
 */
export declare function prepareHeaders(headers: Headers, context: MessagePreparationContext, withPayload?: boolean): void;
/**
 * Generate proxy authorization header
 */
export declare function generateProxyAuthHeader(context: MessagePreparationContext): string | undefined;
//# sourceMappingURL=MessageProcessor.d.ts.map