/**
* @since 1.0.0
*/
import type * as Cause from "effect/Cause";
import type * as Effect from "effect/Effect";
import type * as Exit from "effect/Exit";
import type * as FiberId from "effect/FiberId";
import type * as Option from "effect/Option";
import type * as ServerRequest from "./HttpServerRequest.js";
import * as Respondable from "./HttpServerRespondable.js";
import * as ServerResponse from "./HttpServerResponse.js";
/**
* @since 1.0.0
* @category type id
*/
export declare const TypeId: unique symbol;
/**
* @since 1.0.0
* @category type id
*/
export type TypeId = typeof TypeId;
/**
* @since 1.0.0
* @category error
*/
export type HttpServerError = RequestError | ResponseError | RouteNotFound | ServeError;
declare const RequestError_base: new >(args: import("effect/Types").Simplify) => Cause.YieldableError & Record & {
readonly _tag: "RequestError";
} & Readonly;
/**
* @since 1.0.0
* @category error
*/
export declare class RequestError extends RequestError_base<{
readonly request: ServerRequest.HttpServerRequest;
readonly reason: "Transport" | "Decode";
readonly cause?: unknown;
readonly description?: string;
}> implements Respondable.Respondable {
/**
* @since 1.0.0
*/
[Respondable.symbol](): ServerResponse.HttpServerResponse;
get methodAndUrl(): string;
get message(): string;
}
/**
* @since 1.0.0
* @category predicates
*/
export declare const isServerError: (u: unknown) => u is HttpServerError;
declare const RouteNotFound_base: new >(args: import("effect/Types").Simplify) => Cause.YieldableError & Record & {
readonly _tag: "RouteNotFound";
} & Readonly;
/**
* @since 1.0.0
* @category error
*/
export declare class RouteNotFound extends RouteNotFound_base<{
readonly request: ServerRequest.HttpServerRequest;
}> {
constructor(options: {
request: ServerRequest.HttpServerRequest;
});
/**
* @since 1.0.0
*/
[Respondable.symbol](): ServerResponse.HttpServerResponse;
get message(): string;
}
declare const ResponseError_base: new >(args: import("effect/Types").Simplify) => Cause.YieldableError & Record & {
readonly _tag: "ResponseError";
} & Readonly;
/**
* @since 1.0.0
* @category error
*/
export declare class ResponseError extends ResponseError_base<{
readonly request: ServerRequest.HttpServerRequest;
readonly response: ServerResponse.HttpServerResponse;
readonly reason: "Decode";
readonly cause?: unknown;
readonly description?: string;
}> {
/**
* @since 1.0.0
*/
[Respondable.symbol](): ServerResponse.HttpServerResponse;
get methodAndUrl(): string;
get message(): string;
}
declare const ServeError_base: new >(args: import("effect/Types").Simplify) => Cause.YieldableError & Record & {
readonly _tag: "ServeError";
} & Readonly;
/**
* @since 1.0.0
* @category error
*/
export declare class ServeError extends ServeError_base<{
readonly cause: unknown;
}> {
}
/**
* @since 1.0.0
*/
export declare const clientAbortFiberId: FiberId.FiberId;
/**
* @since 1.0.0
*/
export declare const causeResponse: (cause: Cause.Cause) => Effect.Effect]>;
/**
* @since 1.0.0
*/
export declare const causeResponseStripped: (cause: Cause.Cause) => readonly [response: ServerResponse.HttpServerResponse, cause: Option.Option>];
/**
* @since 1.0.0
*/
export declare const exitResponse: (exit: Exit.Exit) => ServerResponse.HttpServerResponse;
export {};
//# sourceMappingURL=HttpServerError.d.ts.map