import * as React from "react";
import { ICarouselProps, ICarouselState } from "./Carousel.interfaces";
declare class Carousel extends React.Component<ICarouselProps, ICarouselState> {
    static contextType: React.Context<import("../../Context/interfaces").IContextObject>;
    private ColumnGap;
    private RowSize;
    private StepSize;
    private ShowPreviews;
    private DisableTrackLoop;
    private readonly carouselElement;
    private interval;
    static defaultProps: {
        autoSlideTime: number;
        infiniteLoop: boolean;
        slidesPerClick: number;
        activeSlideCount: number;
        disableCarousel: boolean;
        initialActiveViewport: string;
        hideButtons: {
            desktop: boolean;
            mobile: boolean;
            tablet: boolean;
        };
        pagination: {
            desktop: boolean;
            mobile: boolean;
            tablet: boolean;
        };
        columnGap: {
            desktop: number;
            mobile: number;
            tablet: number;
        };
        animatedTransitions: boolean;
        dragThreshold: number;
        initialPosition: number;
        minHeight: number;
        previewScaleFactor: number;
        showArrowsOnMobile: boolean;
        showPreviews: boolean;
        isProductGrid: boolean;
        navigationButtonSize: {
            height: any;
            width: any;
            iconSize: any;
        };
        stepSize: number;
        disableTrackLoop: boolean;
    };
    constructor(props: ICarouselProps);
    /**
     * Calculate all properties
     */
    private calculateSanitizedProps;
    /**
     * Set the current element index in state
     */
    private setCurrentElementIndex;
    private keyHandler;
    doNavigation: (targetIndex: number) => void;
    previousElement: () => void;
    nextElement: () => void;
    handleDotClick: (dot: number) => void;
    startCountdown: () => void;
    componentDidMount(): void;
    componentDidUpdate(prevProps: ICarouselProps, prevState: ICarouselState): void;
    componentWillUnmount(): void;
    render(): JSX.Element;
}
export default Carousel;
export declare const CarouselTestId = "CarouselTestId";
export declare const CarouselFrameTestId = "CarouselFrameTestId";
