/**
 * @since 1.0.0
 */
import * as Context from "effect/Context";
import * as Effect from "effect/Effect";
import * as Layer from "effect/Layer";
import type * as Scope from "effect/Scope";
import * as Client from "effect/unstable/http/HttpClient";
import * as Http from "node:http";
import * as Https from "node:https";
import * as Undici from "./Undici.ts";
export { 
/**
 * @since 1.0.0
 * @category Fetch
 */
Fetch, 
/**
 * @since 1.0.0
 * @category Fetch
 */
layer as layerFetch, 
/**
 * @since 1.0.0
 * @category Fetch
 */
RequestInit } from "effect/unstable/http/FetchHttpClient";
declare const Dispatcher_base: Context.ServiceClass<Dispatcher, "@effect/platform-node/NodeHttpClient/Dispatcher", Undici.Dispatcher>;
/**
 * @since 1.0.0
 * @category Dispatcher
 */
export declare class Dispatcher extends Dispatcher_base {
}
/**
 * @since 1.0.0
 * @category Dispatcher
 */
export declare const makeDispatcher: Effect.Effect<Undici.Dispatcher, never, Scope.Scope>;
/**
 * @since 1.0.0
 * @category Dispatcher
 */
export declare const layerDispatcher: Layer.Layer<Dispatcher>;
/**
 * @since 1.0.0
 * @category Dispatcher
 */
export declare const dispatcherLayerGlobal: Layer.Layer<Dispatcher>;
/**
 * @since 1.0.0
 * @category undici
 */
export declare const UndiciOptions: Context.Reference<Partial<Undici.Dispatcher.RequestOptions<null>>>;
/**
 * @since 1.0.0
 * @category undici
 */
export declare const makeUndici: Effect.Effect<Client.HttpClient, never, Dispatcher>;
/**
 * @since 1.0.0
 * @category Undici
 */
export declare const layerUndiciNoDispatcher: Layer.Layer<Client.HttpClient, never, Dispatcher>;
/**
 * @since 1.0.0
 * @category Undici
 */
export declare const layerUndici: Layer.Layer<Client.HttpClient>;
declare const HttpAgent_base: Context.ServiceClass<HttpAgent, "@effect/platform-node/NodeHttpClient/HttpAgent", {
    readonly http: Http.Agent;
    readonly https: Https.Agent;
}>;
/**
 * @since 1.0.0
 * @category HttpAgent
 */
export declare class HttpAgent extends HttpAgent_base {
}
/**
 * @since 1.0.0
 * @category HttpAgent
 */
export declare const makeAgent: (options?: Https.AgentOptions) => Effect.Effect<HttpAgent["Service"], never, Scope.Scope>;
/**
 * @since 1.0.0
 * @category HttpAgent
 */
export declare const layerAgentOptions: (options?: Https.AgentOptions | undefined) => Layer.Layer<HttpAgent>;
/**
 * @since 1.0.0
 * @category HttpAgent
 */
export declare const layerAgent: Layer.Layer<HttpAgent>;
/**
 * @since 1.0.0
 * @category node:http
 */
export declare const makeNodeHttp: Effect.Effect<Client.HttpClient, never, HttpAgent>;
/**
 * @since 1.0.0
 * @category node:http
 */
export declare const layerNodeHttpNoAgent: Layer.Layer<Client.HttpClient, never, HttpAgent>;
/**
 * @since 1.0.0
 * @category node:http
 */
export declare const layerNodeHttp: Layer.Layer<Client.HttpClient>;
//# sourceMappingURL=NodeHttpClient.d.ts.map