import { default as __DTS_DEFAULT_0__ } from './image-viewer.vue.js';
export declare const imageFits: readonly ["fill", "contain", "cover", "none", "scale-down"];
export declare const imageLoadingTypes: readonly ["eager", "lazy"];
export type ImageFit = (typeof imageFits)[number];
export type ImageLoading = (typeof imageLoadingTypes)[number];
export type ImageViewerAction = "zoomIn" | "zoomOut" | "clockwise" | "anticlockwise" | "toggleMode";
export type ImageLoadHandler = (event: Event) => void;
export type ImageErrorHandler = (event: Event) => void;
export type ImageSwitchHandler = (index: number) => void;
export interface ImageViewerErrorSlotProps {
    activeIndex: number;
    src: string;
    retry: () => void;
}
export interface ImageViewerProgressSlotProps {
    activeIndex: number;
    total: number;
}
export interface ImageViewerToolbarSlotProps {
    actions: (action: ImageViewerAction) => void;
    prev: () => void;
    next: () => void;
    reset: () => void;
    activeIndex: number;
    setActiveItem: (index: number) => void;
}
export interface ImageProps {
    src?: string;
    alt?: string;
    fit?: ImageFit;
    loading?: ImageLoading;
    lazy?: boolean;
    scrollContainer?: string | HTMLElement;
    previewSrcList?: string[];
    previewTeleported?: boolean;
    zIndex?: number;
    initialIndex?: number;
    infinite?: boolean;
    hideOnClickModal?: boolean;
    closeOnPressEscape?: boolean;
    zoomRate?: number;
    scale?: number;
    minScale?: number;
    maxScale?: number;
    showProgress?: boolean;
    crossorigin?: "anonymous" | "use-credentials" | "";
}
export type ImageInstance = any;
export type ImageViewerInstance = InstanceType< __DTS_DEFAULT_0__>;
export type { ImageViewerProps } from './image-viewer-types.js';
export type { ImageCrossorigin } from './image-viewer-types.js';
