import type { AxiosRequestConfig, AxiosResponse } from 'axios';
import FormData from 'form-data';
import type { AgentOptions } from 'https';
import { type IHttpRequestOptions, type IgnoreStatusErrorConfig } from 'n8n-workflow';
import type { SsrfBridge } from '../../../../execution-engine';
export declare function throwIfDomainNotAllowed(configOrUrl: AxiosRequestConfig | string, allowedDomains?: string): void;
export declare function tryParseUrl(url: string): URL | null;
export declare function isIgnoreStatusErrorConfig(ignoreHttpStatusErrors: unknown): ignoreHttpStatusErrors is IgnoreStatusErrorConfig;
export declare function searchForHeader(config: AxiosRequestConfig, headerName: string): string | undefined;
export declare const getHostFromRequestObject: (requestObject: Partial<{
    url: string;
    uri: string;
    baseURL: string;
}>) => string | null;
export declare const getBeforeRedirectFn: (agentOptions: AgentOptions, axiosConfig: AxiosRequestConfig, proxyConfig: IHttpRequestOptions["proxy"] | string | undefined, sendCredentialsOnCrossOriginRedirect: boolean, allowedDomains?: string, ssrfBridge?: SsrfBridge) => (redirectedRequest: Record<string, any>) => void;
export declare function digestAuthAxiosConfig(axiosConfig: AxiosRequestConfig, response: AxiosResponse, auth: AxiosRequestConfig['auth']): AxiosRequestConfig;
export declare const createFormDataObject: (data: Record<string, unknown>) => FormData;
export declare function generateContentLengthHeader(config: AxiosRequestConfig): Promise<void>;
export declare function getUrlFromProxyConfig(proxyConfig: IHttpRequestOptions['proxy'] | string): string | null;
export declare function buildTargetUrl(url?: string, baseURL?: string): string | undefined;
export declare function setAxiosAgents(config: AxiosRequestConfig, agentOptions?: AgentOptions, proxyConfig?: IHttpRequestOptions['proxy'] | string, secureLookup?: ReturnType<SsrfBridge['createSecureLookup']>): void;
