import { AxiosRequestConfig } from 'axios';
import type { GetHttpHttpsAgentsParams } from '../utils/http-https-agents';
type T_SendRequestCallback = (error: any, response: any) => void;
/**
 * Configuration for creating a sendRequest function with proxy/certs support.
 * This is the same config used by getHttpHttpsAgents, minus requestUrl which is
 * extracted from the actual request.
 */
type SendRequestConfig = Omit<GetHttpHttpsAgentsParams, 'requestUrl'>;
/**
 * Creates a sendRequest function configured with proxy and certificate settings.
 * This allows bru.sendRequest to use the same proxy/certs config as the main request.
 *
 * @param config - Configuration for proxy, certs, and TLS options (same as getHttpHttpsAgents)
 * @returns A sendRequest function that applies the config to each request
 */
declare const createSendRequest: (config?: SendRequestConfig) => (requestConfig: AxiosRequestConfig | string, callback?: T_SendRequestCallback) => Promise<import("axios").AxiosResponse<any, any, {}> | undefined>;
declare const sendRequest: (requestConfig: AxiosRequestConfig | string, callback?: T_SendRequestCallback) => Promise<import("axios").AxiosResponse<any, any, {}> | undefined>;
export default sendRequest;
export { createSendRequest };
export type { SendRequestConfig };
