import { ReactNode } from 'react'; import { ScrollViewProps, StyleProp, ViewStyle } from 'react-native'; import { CarouselStyle } from './style/index'; export interface CarouselProps extends ScrollViewProps { accessibilityLabel?: string; autoplay?: boolean; autoplayInterval?: number; afterChange?: (index: number) => void; children?: ReactNode; dots?: boolean; dotActiveStyle?: StyleProp; dotStyle?: StyleProp; infinite?: boolean; lazy?: boolean | ((index: number) => boolean); renderLazyPlaceholder?: (index: number) => ReactNode; pageStyle?: StyleProp; pagination?: (props: PaginationProps) => ReactNode; selectedIndex?: number; style?: StyleProp; styles?: Partial; vertical?: boolean; } export interface PaginationProps { current: number; count: number; dotStyle?: StyleProp; dotActiveStyle?: StyleProp; styles: Partial; vertical?: boolean; } export interface CarouselForwardedRef { scrollToStart: () => void; scrollToEnd: () => void; scrollNextPage: () => void; goTo: (index: number, animated?: boolean) => void; }