import { ImgHTMLAttributes } from 'react';
export type TImageSizes = {
640: string;
750: string;
1024: string;
1440: string;
1920: string;
2560: string;
};
export interface IImagePaths {
/** Original image path */
original: string;
/** Thumbnail path */
thumb?: string;
/** Thumbnail path (webp) */
thumbWebp?: string;
/** Orginal image width */
width?: number;
/** Orginal image height */
height?: number;
/** Alternate text */
alt?: string;
}
export interface IImageAdaptivePaths extends IImagePaths {
/** Adaptive images */
sizes?: TImageSizes;
/** Adaptive images (webp) */
sizesWebp?: TImageSizes;
}
type TBaseAttributes = Omit, 'alt' | 'src'>;
export interface IBaseImageProps extends TBaseAttributes {
/** Image paths */
paths?: IImagePaths | IImageAdaptivePaths;
/** Image `src` */
src?: string;
/** Alternate text */
alt?: string;
}