import * as React from "react"; export type { ThumbnailProp, ThumbnailProp as ThumbnailProps, ThumbnailSizeProp, } from "../../props/components/data-display.prop.js"; /** * Thumbnail — a framed picture at a FIXED HEIGHT and its OWN intrinsic width. * * That combination is the whole component. A wrapping row of screenshots holds portrait and * landscape shots together; equal heights make the row read as one strip, and letting each * width follow its own ratio is what keeps every shot uncropped. * * ## Why not the four components it is mistaken for * * - **`AspectRatio`** constrains a RATIO and spans `width: 100%`. Two different intrinsic ratios * in one row can only be forced into one number by letterboxing or cropping them, which is the * opposite of the requirement. It also draws no frame. * - **`Avatar`** is an identity mark (with initials fallback), not a picture. * - **`Card`** puts padding between its edge and the picture. The frame here is ON the image. * - **`CardCover`** is the full-bleed media slot INSIDE a Card, not a standalone thumbnail. * * ## The frame is on the `` itself * * No wrapper element. A wrapper would have to be told the image's width to hug it, which is * exactly the number nobody has until the picture loads; a border on the replaced element is * flush by construction at every ratio. * * ## Reserve the width before the picture arrives * * With an intrinsic width there is nothing to lay out until the bytes land, so a row of these * reflows as they load. Pass the file's real pixel `width` and `height` attributes — the browser * derives the ratio from them, and with the block size already fixed the frame takes its final * width on the first paint (``). */ export declare const Thumbnail: React.ForwardRefExoticComponent, "alt"> & { src: string; alt: string; size?: import("./thumbnail.js").ThumbnailSizeProp; className?: import("../../props/index.js").ClassNameProp; } & React.RefAttributes>;