import { a as FarmImageFormat, R as ResolvedFarmImageConfig } from '../image-config-Duob7wER.mjs'; interface FarmImageTransformInput { source: Uint8Array; sourceUrl: URL; sourceType: string; width: number; quality: number; accept: string; formats: readonly FarmImageFormat[]; signal: AbortSignal; /** * Byte ceiling for any source the transformer fetches itself. Supplied by the * image handler; transformers that re-fetch the origin (Cloudflare) must * enforce it, since they bypass the handler's bounded read. */ maximumResponseBody?: number; } interface FarmImageTransformResult { body: Uint8Array; contentType: string; } type FarmImageTransformer = (input: FarmImageTransformInput) => Promise; interface CreateFarmImageHandlerOptions { fetch?: typeof globalThis.fetch; /** Node-only fetcher that validates the DNS result used for remote connections. @internal */ fetchRemote?: typeof globalThis.fetch; transform: FarmImageTransformer; validateRemoteUrl?: (url: URL) => void | Promise; onError?: (error: unknown, request: Request) => void; cacheEntries?: number; } type FarmImageHandler = (request: Request) => Promise; type FarmImageRequestErrorCode = "BODY_TOO_LARGE" | "DISALLOWED_SOURCE" | "INVALID_METHOD" | "INVALID_PARAMETER" | "PRIVATE_SOURCE" | "TOO_MANY_REDIRECTS" | "UNSUPPORTED_IMAGE"; declare class FarmImageRequestError extends Error { readonly code: FarmImageRequestErrorCode; readonly status: number; constructor(code: FarmImageRequestErrorCode, status: number, message: string); } declare function createFarmImageHandler(config: ResolvedFarmImageConfig, options: CreateFarmImageHandlerOptions): FarmImageHandler; declare function createCloudflareImageTransformer(fetcher?: typeof globalThis.fetch): FarmImageTransformer; declare function selectOutputFormat(accept: string, formats: readonly FarmImageFormat[]): FarmImageFormat | undefined; declare function isPrivateImageAddress(address: string): boolean; export { type CreateFarmImageHandlerOptions, type FarmImageHandler, FarmImageRequestError, type FarmImageTransformInput, type FarmImageTransformResult, type FarmImageTransformer, createCloudflareImageTransformer, createFarmImageHandler, isPrivateImageAddress, selectOutputFormat };