UNPKG

react-native-images-preview

Version:
43 lines (42 loc) 1.77 kB
import type { Dispatch, SetStateAction } from 'react'; import type { ActivityIndicatorProps, ImageProps, ImageSourcePropType, ImageStyle, StyleProp } from 'react-native'; export declare type ModalConfigType = { x: number; y: number; height: number; width: number; visible: boolean; }; export declare type HeaderOpacityAnimationType = { opacity: number; }; export declare type ImagePreviewProps = { imageSource: ImageSourcePropType; imageStyle: StyleProp<ImageStyle>; imageProps?: Omit<ImageProps, 'source' | 'defaultSource' | 'style'>; doubleTapZoomEnabled?: boolean; pinchZoomEnabled?: boolean; swipeDownCloseEnabled?: boolean; errorImageSource?: ImageSourcePropType; renderHeader?: (close: () => void) => React.ReactElement; imageLoaderProps?: ActivityIndicatorProps; } & Pick<ImageLoaderProps, 'renderImageLoader'>; export declare type ImageModalProps = Omit<ImagePreviewProps, 'imageStyle' | 'imageProps' | 'errorImageSource'> & { setModalConfig: Dispatch<SetStateAction<ModalConfigType>>; modalConfig: ModalConfigType; }; export declare type HeaderProps = Pick<ImagePreviewProps, 'renderHeader'> & { onPressClose: () => void; headerOpacityAnimation: HeaderOpacityAnimationType; }; export declare type ErrorImageProps = Required<Pick<ImagePreviewProps, 'imageStyle' | 'errorImageSource'>>; export declare type UseImageModalProps = { modalConfig: ModalConfigType; setModalConfig: Dispatch<SetStateAction<ModalConfigType>>; pinchZoomEnabled: boolean | undefined; doubleTapZoomEnabled: boolean | undefined; swipeDownCloseEnabled: boolean | undefined; }; export declare type ImageLoaderProps = ActivityIndicatorProps & { renderImageLoader?: () => React.ReactElement; };