import React from 'react'; import { ListenerEventHandler } from '../utils/addEventListener'; export interface CarouselProps { children: React.ReactElement[] | React.ReactElement; defaultValue?: number; className?: string; autoplay?: boolean; delay?: number; sliderWidth?: number; sensitivity?: number; height?: string; fadeEffect?: boolean; controllable?: boolean; monitorWindowResize?: boolean; onClick?: (page: number) => void; onBeforeChange?: (page: number) => void; onAfterChange?: (page: number) => void; pagination?: React.ReactNode | ((instance: React.ReactInstance) => React.ReactNode); } interface CarouselStates { currentPage: number; initialized: boolean; } export default class Carousel extends React.Component { readonly prefixCls = "re-carousel"; sliderWidth: number; startX: number; prevX: number; moveX: number; currentX: number; isDirectionLeft: boolean; sliderRef: React.RefObject; autoplayTimer: any; fadeEffectTimer: any; static defaultProps: { defaultValue: number; className: string; sensitivity: number; autoplay: boolean; delay: number; height: string; controllable: boolean; fadeEffect: boolean; monitorWindowResize: boolean; }; resizeHandler: ListenerEventHandler | null; constructor(props: any); componentDidMount(): void; componentDidUpdate(prevProps: CarouselProps): void; componentWillUnmount(): void; getChildCount: () => number; getTrackWidth: () => number; init: (sliderEl?: HTMLDivElement) => void; getSliderDomNode: () => HTMLDivElement; setTrackStyles: (element: HTMLElement, translateX: number, transition?: string) => void; changeSlide: (nextPage: number, transition?: string, isTouchMove?: boolean) => void; onAutoplay(): void; next: (transition?: string) => void; prev: (transition?: string) => void; goTo: (nextIndex: number, transition?: string, isTouchMove?: boolean) => void; onBeforeChange: (currentPage: number) => void; onAfterChange: () => void; onClick: () => void; onSwipeStart: (event: any) => void; onSwipeMove: (event: any) => void; onSwipeEnd: (event: any) => void; getDefaultStyles(): { trackStyles: { height?: string; width?: string; }; sliderStyles: any; }; render(): JSX.Element; } export {};