import React, { ReactNode, ReactChild, ReactFragment, ReactPortal } from 'react'; import PropTypes from 'prop-types'; import BaseComponent from "../_base/baseComponent"; import { CarouselProps } from './interface'; import CarouselFoundation, { CarouselAdapter } from '@douyinfe/semi-foundation/lib/es/carousel/foundation'; import '@douyinfe/semi-foundation/lib/es/carousel/carousel.css'; export interface CarouselState { activeIndex: number; preIndex: number; isReverse: boolean; isInit: boolean; } declare class Carousel extends BaseComponent { static propTypes: { activeIndex: PropTypes.Requireable; animation: PropTypes.Requireable<"fade" | "slide">; arrowProps: PropTypes.Requireable; autoPlay: PropTypes.Requireable>; className: PropTypes.Requireable; defaultActiveIndex: PropTypes.Requireable; indicatorPosition: PropTypes.Requireable<"center" | "left" | "right">; indicatorSize: PropTypes.Requireable<"small" | "medium">; indicatorType: PropTypes.Requireable<"line" | "dot" | "columnar">; theme: PropTypes.Requireable<"dark" | "light" | "primary">; onChange: PropTypes.Requireable<(...args: any[]) => any>; arrowType: PropTypes.Requireable<"hover" | "always">; showArrow: PropTypes.Requireable; showIndicator: PropTypes.Requireable; slideDirection: PropTypes.Requireable<"left" | "right">; speed: PropTypes.Requireable; style: PropTypes.Requireable; trigger: PropTypes.Requireable<"hover" | "click">; }; static defaultProps: CarouselProps; foundation: CarouselFoundation; constructor(props: CarouselProps); get adapter(): CarouselAdapter; static getDerivedStateFromProps(props: CarouselProps, state: CarouselState): Partial; componentDidMount(): void; componentWillUnmount(): void; play: () => void; stop: () => void; goTo: (targetIndex: number) => void; prev: () => void; next: () => void; handleAutoPlay: () => void; handleMouseEnter: () => void; handleMouseLeave: () => void; onIndicatorChange: (activeIndex: number) => void; getChildren: () => (ReactChild | ReactFragment | ReactPortal)[]; getValidIndex: (activeIndex: number) => number; renderChildren: () => React.JSX.Element; renderIndicator: () => React.JSX.Element; renderArrow: () => React.JSX.Element; render(): ReactNode; } export default Carousel;