/** * Image-generation parameter normalization. * * Reconciles user-supplied geometry / output overrides against the active * provider's declared {@link ImageGenerationProviderCapabilities}. Returns: * - the actually-applied values to forward to the provider * - per-field {@link MediaNormalizationEntry} (requested / applied / derivedFrom) * - a list of {@link ImageGenerationIgnoredOverride} entries for unsupported * soft fields (so the LLM / UI can surface a Note) * * Hard errors (unsupported edit, too many input images) are thrown so the * caller can fail fast — they are NOT downgraded to ignored overrides. * * Decision table — see docs/image-generation-rearchitecture.md §6.3 */ import type { ImageGenerationBackground, ImageGenerationIgnoredOverride, ImageGenerationNormalization, ImageGenerationOutputFormat, ImageGenerationProvider, ImageGenerationProviderCapabilities, ImageGenerationQuality, ImageGenerationResolution, ImageGenerationSourceImage } from './types.js'; export interface ResolveImageGenerationOverridesParams { provider: ImageGenerationProvider; size?: string; aspectRatio?: string; resolution?: ImageGenerationResolution; quality?: ImageGenerationQuality; outputFormat?: ImageGenerationOutputFormat; background?: ImageGenerationBackground; inputImages?: ImageGenerationSourceImage[]; } export interface ResolvedImageGenerationOverrides { size?: string; aspectRatio?: string; resolution?: ImageGenerationResolution; quality?: ImageGenerationQuality; outputFormat?: ImageGenerationOutputFormat; background?: ImageGenerationBackground; ignoredOverrides: ImageGenerationIgnoredOverride[]; normalization?: ImageGenerationNormalization; } export declare function resolveImageGenerationOverrides(params: ResolveImageGenerationOverridesParams): ResolvedImageGenerationOverrides; export type { ImageGenerationProviderCapabilities };