import { Component } from 'react';
import { IDotsType, IDotsTheme } from './SwiperDots';
export interface ISwiperProps {
    className?: string;
    transitionDuration?: number;
    autoplay?: boolean;
    autoplayInterval?: number;
    dots?: boolean | IDotsType;
    dotsColor?: string;
    dotsSize?: 'normal' | 'small' | 'large';
    dotsTheme?: IDotsTheme;
    arrows?: boolean | 'hover';
    arrowsDisabled?: {
        left?: boolean;
        right?: boolean;
    };
    arrowsSize: 'normal' | 'large';
    arrowsType?: 'dark' | 'light';
    onChange?: (current: number, prev: number | null) => void;
    children?: React.ReactNode;
    renderPrevArrow?: (onPrev: () => void, disabled: boolean) => React.ReactNode;
    renderNextArrow?: (onNext: () => void, disabled: boolean) => React.ReactNode;
}
export interface ISwiperState {
    currentIndex: number;
    prevProps?: ISwiperProps;
}
export declare class Swiper extends Component<ISwiperProps, ISwiperState> {
    static defaultProps: {
        className: string;
        transitionDuration: number;
        autoplay: boolean;
        autoplayInterval: number;
        dots: boolean;
        dotsTheme: string;
        dotsSize: string;
        arrows: boolean;
        arrowsSize: string;
        arrowsType: string;
        arrowsDisabled: {
            left: boolean;
            right: boolean;
        };
        renderPrevArrow: (onPrev: () => void, disabled: boolean) => import("react").ReactNode;
        renderNextArrow: (onNext: () => void, disabled: boolean) => import("react").ReactNode;
    };
    swiper: HTMLDivElement;
    swiperContainer: HTMLDivElement;
    swiperWidth: number;
    autoplayTimer?: number;
    isSwiping: boolean;
    isMouseEnter: boolean;
    state: {
        currentIndex: number;
    };
    init: (isResetToOrigin?: boolean) => void;
    getSwiper: (swiper: HTMLDivElement) => void;
    getSwiperContainer: (swiperContainer: HTMLDivElement) => void;
    setSwiperWidth: () => void;
    startAutoplay: () => void;
    clearAutoplay: () => void;
    next: () => void;
    prev: () => void;
    swipeTo: (index: number) => void;
    translate: (currentIndex: number, prevIndex: number | null, isSilent?: boolean) => void;
    resetPosition: (currentIndex: number) => void;
    getRealPrevIndex: (index: number | null) => number;
    cloneChildren: (children?: React.ReactNode) => import("react").ReactNode;
    handleMouseEnter: () => void;
    handleMouseLeave: () => void;
    handleDotsClick: (index: number) => void;
    handleResize: () => void;
    static getDerivedStateFromProps(props: ISwiperProps, state: ISwiperState): Partial<ISwiperState> | null;
    componentDidMount(): void;
    componentDidUpdate(prevProps: ISwiperProps, prevState: ISwiperState): void;
    componentWillUnmount(): void;
    render(): JSX.Element;
}
export default Swiper;
