import { CSSProperties, HTMLAttributes, ImgHTMLAttributes, ReactElement, ReactNode } from 'react'; export interface ImagePreviewActionProps extends Omit, 'content'> { key: string; content: ReactNode; name?: string; disabled?: boolean; } export interface ImagePreviewProps { style?: CSSProperties; className?: string | string[]; src?: string; extra?: Omit, 'src'>; visible?: boolean; defaultVisible?: boolean; maskClosable?: boolean; closable?: boolean; actions?: ImagePreviewActionProps[]; actionsLayout?: string[]; scales?: number[]; defaultScale?: number; onVisibleChange?: (visible: boolean, preVisible: boolean) => void; getPopupContainer?: () => HTMLElement; escToExit?: boolean; imageRender?: (originalNode: ReactElement) => ReactElement; zIndex?: number; } export type PartialImagePreviewProps = Partial; export interface ImagePreviewGroupProps extends Omit { items?: string[]; current?: number; defaultCurrent?: number; loop?: boolean; forceRender?: boolean; onChange?: (index: number) => void; } interface ImageBaseProps extends Omit, HTMLImageElement>, 'title' | 'content'> { title?: React.ReactNode; description?: React.ReactNode; actions?: ReactNode[]; preview?: boolean | ImagePreviewProps; src?: string; error?: React.ReactNode; motion?: boolean; delay?: number; placeholder?: boolean | string | React.ReactNode; content?: React.ReactNode; onError?: (e: any) => void; onLoad?: (e: any) => void; } export type ObserverImageProps = { lazy: boolean | IntersectionObserverInit; } & ImageBaseProps; export type ImageProps = Partial; export {};