import { TNode } from '../common'; export interface TdImageViewerProps { closeBtn?: boolean | TNode; closeOnEscKeydown?: boolean; closeOnOverlay?: boolean; draggable?: boolean; imageScale?: ImageScale; images?: Array; index?: number; defaultIndex?: number; mode?: 'modal' | 'modeless'; navigationArrow?: boolean | TNode; showOverlay?: boolean; title?: string | TNode; trigger?: TNode | TNode<{ open: () => void; }>; viewerScale?: ImageViewerScale; visible?: boolean; defaultVisible?: boolean; zIndex?: number; onClose?: (context: { trigger: 'close-btn' | 'overlay' | 'esc'; e: MouseEvent | KeyboardEvent; }) => void; onIndexChange?: (index: number, context: { trigger: 'prev' | 'next' | 'current'; }) => void; } export interface ImageScale { max: number; min: number; step: number; defaultScale?: number; } export interface ImageInfo { mainImage: string | File; thumbnail?: string | File; download?: boolean; } export interface ImageViewerScale { minWidth: number; minHeight: number; }