import { ImageViewerAction } from './image.js';
import { ImageViewerProps, ImageCrossorigin } from './image-viewer-types.js';
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: Readonly<{
        progress?: (props: {
            activeIndex: number;
            total: number;
        }) => unknown;
        toolbar?: (props: {
            actions: (action: ImageViewerAction) => void;
            prev: () => void;
            next: () => void;
            reset: () => void;
            activeIndex: number;
            setActiveItem: (index: number) => void;
        }) => unknown;
        "viewer-error"?: (props: {
            activeIndex: number;
            src: string;
            retry: () => void;
        }) => unknown;
    }> & {
        progress?: (props: {
            activeIndex: number;
            total: number;
        }) => unknown;
        toolbar?: (props: {
            actions: (action: ImageViewerAction) => void;
            prev: () => void;
            next: () => void;
            reset: () => void;
            activeIndex: number;
            setActiveItem: (index: number) => void;
        }) => unknown;
        "viewer-error"?: (props: {
            activeIndex: number;
            src: string;
            retry: () => void;
        }) => unknown;
    };
    refs: {
        wrapperRef: HTMLDivElement;
        canvasRef: HTMLDivElement;
        viewerImageRef: HTMLImageElement;
    };
    rootEl: any;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: DefineComponent<ImageViewerProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    close: () => any;
    switch: (index: number) => any;
    "update:modelValue": (value: boolean) => any;
}, string, PublicProps, Readonly<ImageViewerProps> & Readonly<{
    onClose?: (() => any) | undefined;
    onSwitch?: ((index: number) => any) | undefined;
    "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
}>, {
    zIndex: number;
    modelValue: boolean;
    teleported: boolean;
    scale: number;
    infinite: boolean;
    initialIndex: number;
    showProgress: boolean;
    closeOnPressEscape: boolean;
    hideOnClickModal: boolean;
    zoomRate: number;
    minScale: number;
    maxScale: number;
    crossorigin: ImageCrossorigin;
    urlList: string[];
}, {}, {}, {}, string, ComponentProvideOptions, false, {
    wrapperRef: HTMLDivElement;
    canvasRef: HTMLDivElement;
    viewerImageRef: HTMLImageElement;
}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
