import { ImageProps as ImageProps$1 } from 'next/image'; import * as React from 'react'; interface ImageTransformOptions { /** * Output width in pixels */ width?: number; /** * Output height in pixels */ height?: number; /** * Output format */ format?: "webp" | "avif" | "jpeg" | "png" | "gif"; /** * Quality (1-100) */ quality?: number; /** * Fit mode for resizing */ fit?: "cover" | "contain" | "fill" | "inside" | "outside"; /** * Background color for transparent images (hex without #) */ background?: string; /** * Blur amount (0.3-1000) */ blur?: number; /** * Sharpen amount (0-10) */ sharpen?: number; /** * Rotation angle (0, 90, 180, 270) */ rotate?: 0 | 90 | 180 | 270; /** * Flip horizontally */ flipH?: boolean; /** * Flip vertically */ flipV?: boolean; } interface ImageProps extends Omit { /** * Stack0 CDN transformation options * These are applied via URL query parameters */ transforms?: ImageTransformOptions; /** * Custom loader function (overrides default Stack0 loader) */ loader?: ImageProps$1["loader"]; } /** * Builds transformation query string for Stack0 CDN */ declare function buildTransformQuery(transforms: ImageTransformOptions | undefined, loaderWidth?: number, loaderQuality?: number): string; /** * Creates a Stack0 CDN image loader */ declare function createStack0Loader(transforms?: ImageTransformOptions): ({ src, width, quality, }: { src: string; width: number; quality?: number; }) => string; /** * Image component optimized for Stack0 CDN * * Uses a custom loader that bypasses Next.js image optimization * in favor of Stack0's CDN-level image processing. * * @example * ```tsx * // Basic usage * Description * * // With CDN transforms * Description * ``` */ declare const Image: React.ForwardRefExoticComponent>; export { Image, type ImageProps, type ImageTransformOptions, buildTransformQuery, createStack0Loader };