import type { BeeRequest, BeeResponse, HookCallback, Ky } from '../types';
import { Options as KyOptions } from 'ky-universal';
import { KyRequestOptions } from '../types';
interface KyResponse<T> extends Response {
    data: T;
}
export declare function wrapRequestClosure(cb: HookCallback<BeeRequest>): (request: Request) => Promise<void>;
export declare function wrapResponseClosure(cb: HookCallback<BeeResponse>): (request: Request, options: unknown, response: Response) => Promise<void>;
/**
 * Filters out entries that has undefined value from headers object.
 * Modifies the original object!
 *
 * @param obj
 */
export declare function filterHeaders(obj?: object): Record<string, string> | undefined;
/**
 * Main utility function to make HTTP requests.
 * @param ky
 * @param config
 */
export declare function http<T>(ky: Ky, config: KyRequestOptions): Promise<KyResponse<T>>;
export declare function makeDefaultKy(kyConfig: KyOptions): Ky;
export {};
