import React from 'react';
import { P as PhotoProviderBase, D as DataType, a as PhotoRenderParams } from './types-9c54b1f2.js';
export { A as ActiveAnimationType, B as BrokenElementParams, C as CloseEdgeType, f as EasingMode, E as ExposedProperties, M as ModeType, e as OriginRectType, O as OverlayRenderProps, c as PhotoTapFunction, b as ReachFunction, R as ReachMoveFunction, d as ReachType, T as TouchStartType } from './types-9c54b1f2.js';

interface PhotoProviderProps extends PhotoProviderBase {
    children: React.ReactNode;
    onIndexChange?: (index: number, state: PhotoProviderState) => void;
    onVisibleChange?: (visible: boolean, index: number, state: PhotoProviderState) => void;
}
type PhotoProviderState = {
    images: DataType[];
    visible: boolean;
    index: number;
};
declare const PhotoProvider: React.ForwardRefExoticComponent<PhotoProviderProps & React.RefAttributes<HTMLDivElement>>;

interface PhotoViewProps {
    /**
     * 图片地址
     */
    src?: string;
    /**
     * 自定义渲染，优先级比 src 低
     */
    render?: (props: PhotoRenderParams) => React.ReactNode;
    /**
     * 自定义覆盖节点
     */
    overlay?: React.ReactNode;
    /**
     * 自定义渲染节点宽度
     */
    width?: number;
    /**
     * 自定义渲染节点高度
     */
    height?: number;
    /**
     * 子节点，一般为缩略图
     */
    children?: React.ReactElement;
    /**
     * 触发的事件
     */
    triggers?: ('onClick' | 'onDoubleClick')[];
}
declare const PhotoView: React.FC<PhotoViewProps>;

interface IPhotoSliderProps extends PhotoProviderBase {
    images: DataType[];
    index?: number;
    onIndexChange?: (index: number) => void;
    visible: boolean;
    onClose: (evt?: React.MouseEvent | React.TouchEvent) => void;
    afterClose?: () => void;
}
declare const PhotoSlider: React.ForwardRefExoticComponent<IPhotoSliderProps & React.RefAttributes<HTMLDivElement>>;

export { DataType, PhotoProvider, PhotoProviderBase, PhotoRenderParams, PhotoSlider, PhotoView };
