import { Disposable } from '@typed/disposable'; import { Effects } from '@typed/effects'; import { Either } from '@typed/either'; export declare type HttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'OPTIONS' | 'PATCH' | 'HEAD'; export declare type HttpHeaders = Readonly>; export declare type HttpOptions = { readonly method?: HttpMethod; readonly headers?: HttpHeaders; readonly body?: string; }; export declare type HttpResponse = { readonly responseText: string; readonly status: number; readonly statusText: string; readonly headers: HttpHeaders; }; export interface HttpRequest extends Effects>> { } export declare type HttpCallbacks = { readonly success: (response: HttpResponse) => Disposable; readonly failure: (error: Error) => Disposable; }; export interface HttpEnv { readonly http: (url: string, options: HttpOptions, callbacks: HttpCallbacks) => Disposable; } export interface TestHttpEnv extends HttpEnv { readonly getResponses: () => ReadonlyArray>; } export declare type HttpRequestValue = A extends HttpRequest ? R : never; //# sourceMappingURL=types.d.ts.map