import React, { Component } from 'react'; import { FlatList, LayoutRectangle, FlatListProps, ListRenderItemInfo, StyleProp, ViewStyle } from 'react-native'; export interface ListReturn { item: any; index: number; } export interface Option extends ListReturn { layout: LayoutRectangle; left: number; top: number; right: number; bottom: number; } export declare type SnapAlignement = 'start' | 'center' | 'end'; export interface Snap { snapToInterval: number; snapToAlignment: SnapAlignement; } export declare type HandleSelection = (item: any, index: number, scrollPosition: number | null) => void; interface Props extends FlatListProps { onSelected?: (obj: ListReturn) => void; offsetSelection?: number; magnet?: boolean; scrollAnimation?: boolean; snapInterval?: number | null; snapToAlignment?: SnapAlignement; initialScrollToIndex?: number; startMargin?: number; endMargin?: number; refFlatList?: React.MutableRefObject; selectOnPress?: boolean; styleButton?: StyleProp; activeOpacityButton?: number; } interface State { selected: number; scrollPosition: number | null; } declare class SmoothPicker extends Component { widthParent: number; heightParent: number; onMomentum: boolean; fingerAction: boolean; options: Option[]; countItems: number; refList: React.RefObject; state: { selected: number; scrollPosition: null; }; componentDidMount(): void; _alignAfterMount: () => void; _save: (i: number, layout: LayoutRectangle, item: any, horizontal: boolean | null) => void; _handleSelection: HandleSelection; _renderItem: (info: ListRenderItemInfo) => (JSX.Element | null); render(): JSX.Element; } export default SmoothPicker;