import { RefObject } from "react";
export declare type IPreviewImage = {
    src: string;
    fileName: string;
};
export declare type ControlText = {
    downloadTitleText?: string;
    fullScreenTitleText?: string;
    closeTitleText?: string;
    prevImgTitleText?: string;
    nextImgTitleText?: string;
};
export declare type IPreviewProps = ControlText & {
    images?: IPreviewImage[];
    isOpen?: boolean;
    onClose?: VoidFunction;
    root?: HTMLElement | null;
};
export declare type ImageSlideShowType = [{
    chosenImage: IPreviewImage;
    chosenImageIndex: number;
    fullscreen: boolean;
}, {
    setChosenImageIndex: (idx: number) => void;
    prev: VoidFunction;
    next: VoidFunction;
    toggleFullscreen: VoidFunction;
}];
export interface IPreviewButtonProps {
    open: VoidFunction;
}
export declare type IPreviewControlsProps = ControlText & {
    chosenImage?: IPreviewImage;
    fullscreen?: boolean;
    toggleFullscreen?: VoidFunction;
    close?: VoidFunction;
    prev?: VoidFunction;
    next?: VoidFunction;
};
export interface IPreviewSlideShowProps {
    chosenImageIndex?: number;
    setPreview?: (idx: number) => void;
    images?: string[];
}
export interface IGalleryImageProps {
    image: string;
    isChosen: boolean;
    slideShowRef: RefObject<HTMLDivElement>;
    adjustSlider: (px: number) => void;
    onClick: VoidFunction;
}
export declare type PreviewImageContainerProps = {
    fullscreen?: boolean;
};
