/**
 * 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 };
