import { Effect } from 'effect';
declare const FetchError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
    readonly _tag: "FetchError";
} & Readonly<A>;
export declare class FetchError extends FetchError_base<{
    cause: unknown;
}> {
}
declare const NotFoundError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
    readonly _tag: "NotFoundError";
} & Readonly<A>;
export declare class NotFoundError extends NotFoundError_base<{
    url: string;
}> {
}
export declare const httpClient: (input: RequestInfo | URL, init?: RequestInit) => Effect.Effect<Response, FetchError | NotFoundError, never>;
declare const ResponseTextError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
    readonly _tag: "ResponseTextError";
} & Readonly<A>;
export declare class ResponseTextError extends ResponseTextError_base<Error> {
    constructor(error: Error);
}
export declare const responseAsText: (res: Response) => Effect.Effect<string, ResponseTextError, never>;
export {};
