import type { ImageProps as NextImageProps } from "next/image.js"; import type { CSSProperties } from "react"; type Simplify = { [K in keyof T]: T[K]; } & {}; type IsStringLiteral = T extends string ? (string extends T ? false : true) : false; type RequireAtLeastOne = Pick> & { [K in Keys]-?: Required> & Partial>>; }[Keys]; type NextImageBaseProps = Omit; type InferableTailwindLengthValue = `${number}` | `[${string}]` | `(${string})` | "container" | "edge" | "dvh" | "dvw" | "lvh" | "lvw" | "px" | "screen" | "svh" | "svw" | `screen-${string}`; type HasInferableClassSizingToken = C extends `${string}size-${InferableTailwindLengthValue}${string}` | `${string}w-${InferableTailwindLengthValue}${string}` | `${string}max-w-${InferableTailwindLengthValue}${string}` ? true : false; type IsBroadStyle = [NonNullable] extends [CSSProperties] ? CSSProperties extends NonNullable ? true : false : false; type CanInferFromClassName = [NonNullable] extends [string] ? IsStringLiteral> extends true ? HasInferableClassSizingToken> : false : false; type InferableStyle = RequireAtLeastOne; type CanInferFromStyle = [NonNullable] extends [CSSProperties] ? IsBroadStyle extends true ? false : NonNullable extends InferableStyle ? true : false : false; type SizesConstraint = { sizes: string; } | (CanInferFromClassName extends true ? { sizes?: string; } : never) | (CanInferFromStyle extends true ? { sizes?: string; } : never) | ([NonNullable] extends [string] ? IsStringLiteral> extends false ? { sizes?: string; } : never : never) | (IsBroadStyle extends true ? { sizes?: string; } : never); export type SmartImageProps = Simplify>; export {}; //# sourceMappingURL=smart-image.types.d.ts.map