import { type NixTemplate } from "@deijose/nix-js"; export { consumeImageRegistry, setImageManifest, type ImageFormat } from "./registry.js"; export interface ImageOptions { /** Source path relative to the public directory, e.g. "/images/hero.jpg". */ src: string; /** Alt text (required for accessibility). */ alt: string; /** Intrinsic width of the source image in pixels. */ width: number; /** Intrinsic height of the source image in pixels. */ height: number; /** Responsive widths to generate for srcset. Defaults to [width]. */ widths?: number[]; /** Sizes attribute for responsive layout, e.g. "100vw" or "(min-width: 768px) 50vw, 100vw". */ sizes?: string; /** If true, loads eagerly with high priority (for above-the-fold images). */ priority?: boolean; /** CSS class for the img element. */ class?: string; /** Additional HTML attributes. */ attributes?: Record; } /** * Creates a NixTemplate that renders an optimized `` or `` element. * * When a manifest is active (post-build or SSR with manifest loaded): * * Emits `` with `` per format and real hashed variant URLs. * * Uses real dimensions from the manifest. * * When no manifest is active (first build pass, dev without sharp): * * Emits a plain `` with the original src. * * Does NOT emit srcset with unresolved variant URLs. * * Registers the image for build-time processing. */ export declare function image(opts: ImageOptions): NixTemplate; export { processImageBatch, readManifest, writeManifest, getManifestEntry, buildSrcset, buildPictureMarkup, validateManifestUrls, isSharpAvailable, getImage, createImageService, transformHash, } from "./service.js"; export type { ImageManifest, ImageEntry, ImageVariant, ProcessOptions, ProcessResult, ImageRequest, ImageMetadata, GeneratedImage, ImageService, ImageServiceCapabilities, ImageServiceContext, } from "./service.js";