/**
 * Fetch Utilities
 */
/** Error codes for classified fetch errors */
export type FetchErrorCode = 'TIMEOUT' | 'CONNECTION_REFUSED' | 'DNS_LOOKUP_FAILED' | 'NETWORK_ERROR' | 'UNKNOWN';
/**
 * A fetch error with a classified error code and the URL that was requested.
 */
export declare class FetchError extends Error {
    readonly code: FetchErrorCode;
    readonly url: string;
    constructor(message: string, code: FetchErrorCode, url: string, cause?: unknown);
}
/**
 * Classify a raw fetch error into a FetchError with a machine-readable code.
 */
export declare function classifyFetchError(error: unknown, url: string): FetchError;
/**
 * Fetch with an automatic AbortController timeout.
 * Cleans up the timer on success or failure.
 * Throws FetchError with classified error code on failure.
 */
export declare function fetchWithTimeout(url: string, options?: RequestInit, timeoutMs?: number): Promise<Response>;
//# sourceMappingURL=fetch.d.ts.map