import { fx } from 'affex'; import { Body } from './Body'; import { HttpError } from './HttpError'; import { Options } from './Options'; import { Response } from './Response'; import { Url } from './Url'; export interface Http { readonly [fx.uri]?: unique symbol; delete(url: Url, options?: Options): Promise; get(url: Url, options?: Options): Promise; head(url: Url, options?: Options): Promise; options(url: Url, options?: Options): Promise; patch(url: Url, body?: Body | null, options?: Options): Promise; post(url: Url, body?: Body | null, options?: Options): Promise; put(url: Url, body?: Body | null, options?: Options): Promise; } export interface FxHttp extends Pick { delete(url: Url, options?: Options): fx.Result; get(url: Url, options?: Options): fx.Result; head(url: Url, options?: Options): fx.Result; options(url: Url, options?: Options): fx.Result; patch(url: Url, body?: Body | null, options?: Options): fx.Result; post(url: Url, body?: Body | null, options?: Options): fx.Result; put(url: Url, body?: Body | null, options?: Options): fx.Result; } export declare const tag: import("affex/dist/src/Tag").Tag; export declare const Http: { delete: (url: Url, options?: Options | undefined) => fx.Effector; get: (url: Url, options?: Options | undefined) => fx.Effector; head: (url: Url, options?: Options | undefined) => fx.Effector; options: (url: Url, options?: Options | undefined) => fx.Effector; patch: (url: Url, body?: Body | null | undefined, options?: Options | undefined) => fx.Effector; post: (url: Url, body?: Body | null | undefined, options?: Options | undefined) => fx.Effector; put: (url: Url, body?: Body | null | undefined, options?: Options | undefined) => fx.Effector; };