import type { AstroConfig, HookParameters, ImageQualityPreset, ImageTransform } from 'astro'; type ImageFormat = 'image/webp'; export declare const imageSizes: readonly [640, 1080, 1920]; export type ImageSizes = (typeof imageSizes)[number]; export type DevImageService = 'sharp' | (string & {}); type RemotePattern = { protocol?: 'http' | 'https'; hostname: string; port?: string; pathname?: string; }; export type WlodevImageConfig = { /** * Supported image widths. */ sizes: ImageSizes[]; /** * Supported output image formats */ formats?: ImageFormat[]; /** * 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[]; }; export declare const getDefaultImageConfig: (astroImageConfig: AstroConfig["image"]) => WlodevImageConfig; export declare function isESMImportedImage(src: ImageMetadata | string): src is ImageMetadata; export declare const qualityTable: Record; export declare const getImageConfig: (enabled: boolean, imageConfig: WlodevImageConfig | undefined, astroImageConfig: AstroConfig["image"], devImageService: DevImageService, command: HookParameters<"astro:config:setup">["command"], logger: HookParameters<"astro:config:setup">["logger"]) => { image: { service: { entrypoint: string; config: WlodevImageConfig; }; }; } | { image?: undefined; }; export declare const sharedValidateOptions: (options: ImageTransform, serviceConfig: Record, mode: "development" | "production") => ImageTransform; export {}; //# sourceMappingURL=config.d.ts.map