import * as React from "react";
import { StateType, Callbacks, ResponderEvent } from "react-gesture-responder";
import { SpringConfig } from "react-spring";
/**
 * ReactPager
 *
 * Provide views that can be swiped left or right (with touch devices).
 */
export interface PagerProps extends React.HTMLAttributes<HTMLDivElement> {
    children: Array<React.ReactNode | CallbackProps>;
    value: number;
    enableMouse?: boolean;
    enableGestures?: boolean;
    focusOnChange?: boolean;
    enableScrollLock?: boolean;
    onRequestChange: (value: number) => void;
    animationConfig?: SpringConfig;
    lazyLoad?: boolean;
    onSetLazy?: (suggestedIndex: number) => number[];
    onTerminationRequest?: Callbacks["onTerminationRequest"];
    /** Optionally override onMoveShouldSet defaults */
    onMoveShouldSet?: (state: StateType, e: ResponderEvent, suggested: boolean) => boolean;
}
export interface PagerHandles {
    focus(i?: number): void;
}
export interface CallbackProps {
    style: React.CSSProperties;
    "aria-hidden": boolean;
    ref: (el: HTMLDivElement | null) => void;
}
export declare type PagerChildCallback = (props: CallbackProps, active: boolean, load: boolean) => React.ReactNode;
declare const _default: React.ForwardRefExoticComponent<PagerProps & React.RefAttributes<PagerHandles>>;
export default _default;
