import React, { Component, CSSProperties } from 'react';
import { ConfigContextValue } from '../config-provider/ConfigContext';
export declare type CarouselEffect = 'scrollx' | 'fade';
export interface CarouselProps {
    effect?: CarouselEffect;
    dots?: boolean;
    vertical?: boolean;
    autoplay?: boolean;
    easing?: string;
    beforeChange?: (from: number, to: number) => void;
    afterChange?: (current: number) => void;
    style?: CSSProperties;
    prefixCls?: string;
    accessibility?: boolean;
    nextArrow?: HTMLElement | any;
    prevArrow?: HTMLElement | any;
    pauseOnHover?: boolean;
    className?: string;
    adaptiveHeight?: boolean;
    arrows?: boolean;
    autoplaySpeed?: number;
    centerMode?: boolean;
    centerPadding?: string | any;
    cssEase?: string | any;
    dotsClass?: string;
    draggable?: boolean;
    fade?: boolean;
    focusOnSelect?: boolean;
    infinite?: boolean;
    initialSlide?: number;
    lazyLoad?: boolean;
    rtl?: boolean;
    slide?: string;
    slidesToShow?: number;
    slidesToScroll?: number;
    speed?: number;
    swipe?: boolean;
    swipeToSlide?: boolean;
    touchMove?: boolean;
    touchThreshold?: number;
    variableWidth?: boolean;
    useCSS?: boolean;
    slickGoTo?: number;
}
export default class Carousel extends Component<CarouselProps> {
    static displayName: string;
    static get contextType(): React.Context<ConfigContextValue>;
    static defaultProps: {
        dots: boolean;
        arrows: boolean;
        draggable: boolean;
    };
    context: ConfigContextValue;
    innerSlider: any;
    private slick;
    private onWindowResized;
    componentDidMount(): void;
    componentWillUnmount(): void;
    saveSlick: (node: any) => void;
    next(): void;
    prev(): void;
    goTo(slide: number): void;
    render(): JSX.Element;
}
