import { PureComponent } from 'react';
import 'photoswipe/dist/photoswipe.css';
import 'photoswipe/dist/default-skin/default-skin.css';
export interface PhotoSwipeProps {
    isOpen: boolean;
    items: {
        src: any;
        w: number;
        h: number;
    }[];
    options?: any;
    onClose?: () => void;
    beforeChange?: (instance: any) => void;
    afterChange?: (instance: any) => void;
    imageLoadComplete?: (instance: any) => void;
    resize?: (instance: any) => void;
    gettingData?: (instance: any) => void;
    mouseUsed?: (instance: any) => void;
    initialZoomIn?: (instance: any) => void;
    initialZoomInEnd?: (instance: any) => void;
    initialZoomOut?: (instance: any) => void;
    initialZoomOutEnd?: (instance: any) => void;
    parseVerticalMargin?: (instance: any) => void;
    close?: (instance: any) => void;
    unbindEvents?: (instance: any) => void;
    destroy?: (instance: any) => void;
    updateScrollOffset?: (instance: any) => void;
    preventDragEvent?: (instance: any) => void;
    shareLinkClick?: (instance: any) => void;
}
export declare class PhotoSwipe extends PureComponent<PhotoSwipeProps> {
    photoSwipe: any;
    pswpElement: any;
    componentDidMount(): void;
    componentDidUpdate(prevProps: PhotoSwipeProps): void;
    componentWillUnmount(): void;
    openPhotoSwipe: (props: PhotoSwipeProps) => void;
    closePhotoSwipe: () => void;
    handleClose: () => void;
    render(): JSX.Element;
}
