export interface MediaDimensionBounds { minDimension: number; maxDimension: number; maxAspectRatio?: number; minPixels?: number; maxPixels?: number; label?: string; } export declare const DEFAULT_MAX_MEDIA_ASPECT_RATIO = 4; export declare function validateMediaAspectRatio(width: number, height: number, maxAspectRatio?: number): string | null; export declare function validateMediaDimensions(width: number, height: number, bounds: MediaDimensionBounds): string | null; export declare function validateMediaDimensionValue(value: number, bounds: MediaDimensionBounds, dimensionName?: string): string | null; export declare function validateMediaAspectRatioString(aspectRatio: string | undefined, bounds: MediaDimensionBounds): string | null; export declare const ASPECT_RATIO_DESCRIPTION = "Do NOT set unless the user explicitly requests an aspect ratio, format, orientation, or exact pixel dimensions. When a reference/source image is used and the user did not ask to change its shape, omit this field so the handler preserves the selected source image's own ratio.\n\nFormats: \"16:9\", \"9:16\", \"4:5\", \"1:1\", \"4:3\", \"3:2\", \"21:9\", or exact pixels like \"1920x1080\".\n\nCRITICAL: When the user specifies exact pixel dimensions (e.g., \"1280x720\", \"1080x1920\", \"1920x1080\", \"3840x2160\") or an orientation-qualified named resolution (e.g., \"720p landscape\", \"720p portrait\"), use the exact pixel format, NOT a ratio like \"16:9\" or \"9:16\". Exact user-requested dimensions override the selected default media quality, including Pro/HQ defaults. A bare named video resolution like \"720p resolution\" is only a resolution tier/short-side request; do not turn it into landscape pixels and do not set aspectRatio unless the user also states landscape, portrait, vertical, horizontal, or exact pixels. If requested pixels are in bounds but not on the model's pixel step, still pass the user's exact pixel request; the handler snaps to the nearest supported size internally. Only use ratio format when the user says a generic format name without pixel dimensions.\n\nMappings (use ONLY when user does NOT specify pixel dimensions): landscape/widescreen/YouTube/cinematic \u2192 \"16:9\". portrait \u2192 \"9:16\". TikTok/Reels/IG Reels \u2192 \"1080x1920\". ultrawide/cinema scope \u2192 \"21:9\". Instagram post \u2192 \"4:5\". square \u2192 \"1:1\". standard/TV \u2192 \"4:3\". 720p landscape \u2192 \"1280x720\". 720p portrait \u2192 \"720x1280\". 1080p landscape \u2192 \"1920x1080\". 1080p portrait/HD portrait \u2192 \"1080x1920\". 4K landscape \u2192 \"3840x2160\". 4K portrait \u2192 \"2160x3840\". Never set for generic requests like \"make a video\"."; //# sourceMappingURL=aspectRatio.d.ts.map