import React from 'react';
import { WrappedComponentProps } from 'react-intl';
export interface ReactImageLightboxProps extends WrappedComponentProps {
    /**
     * Id of the lightbox
     * @default `lightbox`
     */
    id?: string;
    mainSrc: string;
    prevSrc?: string;
    nextSrc?: string;
    mainSrcThumbnail?: string;
    prevSrcThumbnail?: string;
    nextSrcThumbnail?: string;
    onCloseRequest?: (event: any) => void;
    onMovePrevRequest?: (event: any) => void;
    onMoveNextRequest?: (event: any) => void;
    onImageLoadError?: (imageSrc: any, srcType: any, errorEvent: any) => void;
    onImageLoad?: (imageSrc: any, srcType: any, inMemoryImage: any) => void;
    onAfterOpen?: () => void;
    discourageDownloads?: boolean;
    animationDisabled?: boolean;
    animationOnKeyInput?: boolean;
    animationDuration?: number;
    keyRepeatLimit?: number;
    keyRepeatKeyupBonus?: number;
    imageTitle?: React.ReactNode;
    imageCaption?: React.ReactNode;
    imageCrossOrigin?: string;
    /**
     * Overrides or extends the styles applied to the component.
     * @default null
     */
    className?: string;
    reactModalStyle?: Record<string, any>;
    imagePadding?: number;
    wrapperClassName?: string;
    toolbarButtons?: React.ReactNode[];
    clickOutsideToClose?: boolean;
    enableZoom?: boolean;
    reactModalProps?: Record<string, any>;
    nextLabel?: string;
    prevLabel?: string;
    zoomInLabel?: string;
    zoomOutLabel?: string;
    closeLabel?: string;
    imageLoadErrorMessage?: string;
    loader?: React.ReactNode;
}
export interface ReactImageLightboxState {
    isClosing: boolean;
    shouldAnimate: boolean;
    zoomLevel: number;
    offsetX: number;
    offsetY: number;
    loadErrorStatus: Record<string, any>;
}
declare const ReactImageLightboxIntl: any;
export default ReactImageLightboxIntl;
//# sourceMappingURL=Lightbox.d.ts.map