import React, { Component } from 'react'; import { ImageStyle, ImageURISource, LayoutChangeEvent, StyleProp, TextStyle, ViewStyle } from 'react-native'; import { BlockItem } from '../types'; interface Autoplay { autoplayDelay: string; autoplayInterval: string; } import { CardProps } from '../types'; export interface CustomCarouselBlockProps extends CardProps { source: ImageURISource; resizeMode?: any; resizeMethod?: any; items: any; options: any; ratio?: string; useRatio?: boolean; pageCounter?: boolean; imageStyle?: StyleProp; containerStyle?: any; headerStyle?: any; textStyle?: any; cardContainerStyle?: ViewStyle; pageCounterStyle?: StyleProp; pageNumberStyle?: StyleProp; pagination?: any; autoplay?: Autoplay; loop?: boolean; } export interface ImageCarouselBlockState { width?: number; height?: number; sliderActiveSlide: number; overallHeight: number; } export default class CustomCarouselBlock extends Component { _slider1Ref: any | null; constructor(props: CustomCarouselBlockProps); shouldComponentUpdate(nextProps: CustomCarouselBlockProps, nextState: ImageCarouselBlockState): boolean; renderBlock: (item: BlockItem) => React.ReactElement | null; dataKeyExtractor: (item: BlockItem) => string; _renderItem(data: any): JSX.Element; parentCardStyles(): number; horizontalMarginPadding(): any; calculateSliderWidth(): number; calculateItemWidth(): any; _onLayout: (event: LayoutChangeEvent) => void; onSnapToItem: (index: number) => void; createCarousel(): JSX.Element; render(): JSX.Element; } export {};