import type { AstroConfig, ImageMetadata, ImageQualityPreset, ImageTransform } from 'astro'; export declare const defaultImageConfig: VercelImageConfig; export declare function isESMImportedImage(src: ImageMetadata | string): src is ImageMetadata; type ImageFormat = 'image/avif' | 'image/webp'; type RemotePattern = { protocol?: 'http' | 'https'; hostname: string; port?: string; pathname?: string; }; export type VercelImageConfig = { /** * Supported image widths. */ sizes: number[]; /** * Allowed external domains that can use Image Optimization. Leave empty for only allowing the deployment domain to use Image Optimization. */ domains: string[]; /** * Allowed external patterns that can use Image Optimization. Similar to `domains` but provides more control with RegExp. */ remotePatterns?: RemotePattern[]; /** * Cache duration (in seconds) for the optimized images. */ minimumCacheTTL?: number; /** * Supported output image formats */ formats?: ImageFormat[]; /** * Allow SVG input image URLs. This is disabled by default for security purposes. */ dangerouslyAllowSVG?: boolean; /** * Change the [Content Security Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) of the optimized images. */ contentSecurityPolicy?: string; }; export declare const qualityTable: Record; export declare function throwIfAssetsNotEnabled(config: AstroConfig, imageService: boolean | undefined): void; export declare function getImageConfig(images: boolean | undefined, imagesConfig: VercelImageConfig | undefined, command: string): { image: { service: { entrypoint: string; config: VercelImageConfig; }; }; } | { image?: undefined; }; export declare function sharedValidateOptions(options: ImageTransform, serviceOptions: Record, mode: 'development' | 'production'): ImageTransform; export {};