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