import React, { type ReactNode } from "react";
export interface ImageProps extends React.ImgHTMLAttributes<HTMLImageElement> {
    /** Fallback content to display when image fails to load */
    fallback?: ReactNode;
    /** Placeholder content to display when no src is provided */
    placeholder?: ReactNode;
    /** Show loading state while image is loading */
    showLoading?: boolean;
    /** Custom loading content */
    loadingContent?: ReactNode;
    /** Callback fired when image fails to load */
    onError?: (error: React.SyntheticEvent<HTMLImageElement, Event>) => void;
    /** Callback fired when image loads successfully */
    onLoad?: (event: React.SyntheticEvent<HTMLImageElement, Event>) => void;
    /** Additional CSS classes for the container */
    containerClassName?: string;
}
export type ImageState = "loading" | "loaded" | "error" | "no-src";
type ObjectFit = "cover" | "contain" | "fill" | "none" | "scale-down";
export declare const Image: React.ForwardRefExoticComponent<ImageProps & {
    /** Controls how the image fits the box. Default: "cover" */
    fit?: ObjectFit;
    /** CSS aspect-ratio (number like 1.333, or string like "4 / 3"). */
    aspectRatio?: number | string;
} & React.RefAttributes<HTMLImageElement>>;
export {};
//# sourceMappingURL=image.d.ts.map