import { Component, CSSProperties, ReactNode } from 'react';
import { ContentRect } from 'react-measure';
import './Carousel.less';
export interface CarouselProps {
    /**
     * Slides
     * @since 0.0.42
     */
    children?: ReactNode;
    /**
     * @ignore
     */
    className?: string;
    /**
     * @ignore
     */
    baseClassName?: string;
}
/**
 * Carousel component is used for optimizing page space by displaying only some parts
 * of entire content in a cyclic view.
 * @since 0.0.42
 */
declare class Carousel extends Component<CarouselProps> {
    static defaultProps: {
        children: null;
        className: null;
        baseClassName: string;
    };
    constructor(props: CarouselProps);
    state: {
        showControls: boolean;
        current: number;
        next: number;
        moving: boolean;
        slideWidths: never[];
        totalWidth: number;
    };
    componentDidMount(): void;
    componentDidUpdate(): void;
    componentWillUnmount(): void;
    private readonly speed;
    private readonly playSpeed;
    private isRtl;
    private playTimer;
    private movingCallback;
    private readonly rootRef;
    private readonly genuineRef;
    handlePrevClick(): void;
    handleNextClick(): void;
    play(): void;
    stop(): void;
    setCurrentSlide(next: number): void;
    handleResize({ bounds }: ContentRect): void;
    listStyle(): CSSProperties;
    render(): JSX.Element;
}
export default Carousel;
