import React, { Component } from 'react';
import { Animated, ListRenderItemInfo } from 'react-native';
import { MultiCarouselProps } from './MultiCarouselProps';
export interface MultiCarouselState {
    currentIndex: number;
    containerWidth: number;
    itemWidth: number;
}
export declare class MultiCarousel<ItemT> extends Component<MultiCarouselProps<ItemT>, MultiCarouselState> {
    currentScrollX: number;
    initialScrollX: number;
    defaultPeekSize: number;
    defaultItemsPerPage: number;
    initialized: boolean;
    opcacity: Animated.Value;
    private scrollView;
    constructor(props: MultiCarouselProps<ItemT>);
    handleContainerSizeChange: (e: any) => void;
    goToNext: (options?: any) => void;
    goToPrev: (options?: any) => void;
    goTo: (index: number, options?: any) => void;
    goToOrigin: () => void;
    handleScrollRelease: (e: any) => void;
    handleScrollBegin: (e: any) => void;
    handleMomentumScrollEnd: (e: any) => void;
    getPageNum: () => number;
    getPageWidth: () => number;
    getItemWidth: (containerWidth: number) => number;
    renderSingle: () => JSX.Element | null;
    renderItem: ({ item, index }: ListRenderItemInfo<ItemT>) => JSX.Element;
    keyExtractor: (item: ItemT, index: number) => string;
    render(): React.ReactNode;
}
