import React, { MutableRefObject } from 'react';
export interface CarouselProps<T> {
    readonly axis?: 'x' | 'y';
    readonly items: T[];
    readonly renderItem: (props: CarouselRenderItemProps<T>) => React.ReactElement<CarouselItemProps>;
    readonly scrollMargin?: boolean;
    readonly scrollBehavior?: ScrollBehavior;
}
export interface CarouselRenderItemProps<T> {
    readonly item: T;
    readonly index: number;
    readonly isSnapPoint: boolean;
}
export interface CarouselRef {
    readonly refresh: () => void;
}
export declare const Carousel: <T>(props: CarouselProps<T> & {
    ref?: ForwardedRef<CarouselRef>;
}) => React.ReactElement;
type ForwardedRef<T> = ((instance: T | null) => void) | MutableRefObject<T | null> | null;
export interface CarouselItemProps {
    readonly isSnapPoint: boolean;
    readonly width?: number;
    readonly children?: React.ReactNode;
}
export declare const CarouselItem: ({ width, children }: CarouselItemProps) => JSX.Element;
export {};
//# sourceMappingURL=Corousel.d.ts.map
