import React, { HTMLAttributes } from 'react';
import { TouchEventHandler } from '../Touch/Touch';
import { HasAlign, HasPlatform, HasRef, HasRootRef } from '../../types';
export interface BaseGalleryProps extends Omit, 'onChange' | 'onDragStart' | 'onDragEnd'>, HasPlatform, HasAlign, HasRootRef, HasRef {
slideWidth?: string | number;
slideIndex?: number;
onDragStart?: TouchEventHandler;
onDragEnd?: TouchEventHandler;
onChange?(current: number): void;
onEnd?({ targetIndex }: {
targetIndex: number;
}): void;
bullets?: 'dark' | 'light' | false;
isDraggable?: boolean;
showArrows?: boolean;
}
export interface GalleryProps extends BaseGalleryProps {
initialSlideIndex?: number;
timeout?: number;
}
export interface GalleryState {
containerWidth: number;
layerWidth?: number;
min?: number;
max?: number;
startT?: Date;
deltaX: number;
shiftX: number;
slides: GallerySlidesState[];
animation: boolean;
duration: number;
dragging?: boolean;
}
export interface GallerySlidesState {
coordX: number;
width: number;
}
declare const _default: React.FC;
export default _default;