import { MisinaError } from "./base.mjs"; /** * Thrown when the request fails before a usable response is produced — * DNS lookup failure, TCP refuse, TLS handshake error, or a stream cut * mid-body after headers arrived. The original cause (e.g. `TypeError: * fetch failed`) is preserved on `.cause`; `.response` is populated only * for the mid-stream case. * * @example * ```ts * import { isNetworkError } from "misina" * * try { await api.get("/users") } catch (err) { * if (isNetworkError(err)) { * console.warn("upstream unreachable:", err.message) * showOfflineBanner() * } else throw err * } * ``` */ export declare class NetworkError extends MisinaError { override readonly name = "NetworkError"; /** * Response object when the network failure happened mid-stream after * headers had already arrived. `undefined` for pre-connection failures * (DNS, TCP refuse, TLS) where no response was ever produced. */ readonly response: Response | undefined; constructor(message: string, options?: { cause?: unknown; response?: Response; }); } export declare function isRawNetworkError(error: unknown): boolean;