import * as React from 'react'; import { MenuItem, MenuItems, MenuProps, Ref, RefObject, Void } from './types'; interface MenuState { dragging: boolean; xPoint: number; translate: number; startDragTranslate: number; xDraggedDistance: number; firstItemVisible: boolean; lastItemVisible: boolean; leftArrowVisible: boolean; rightArrowVisible: boolean; } export declare class ScrollMenu extends React.Component { static defaultProps: MenuProps; private ref; private menuWrapper; private menuInner; private mounted; private needUpdate; private allItemsWidth; private menuPos; private menuWidth; private wWidth; private firstPageOffset; private lastPageOffset; private lastTranslateUpdate; private menuItems; private selected; private onLoadTimer; private rafTimer; private resizeTimer; private frameId; private data; private dragHistory; constructor(props: MenuProps); state: { dragging: boolean; firstItemVisible: boolean; lastItemVisible: boolean; leftArrowVisible: boolean; rightArrowVisible: boolean; startDragTranslate: number; translate: number; xDraggedDistance: number; xPoint: number; }; componentDidCatch(err: any, info: any): Void; componentDidMount(): Void; shouldComponentUpdate(nextProps: MenuProps, nextState: MenuState): boolean; componentDidUpdate(prevProps: MenuProps, prevState: MenuState): Void; componentWillUnmount(): Void; setRef: (ref: RefObject) => Void; setMenuInnerRef: (ref: Ref) => Void; setWrapperRef: (ref: Ref) => Void; checkFirstLastItemVisibility: ({ translate, }: { translate?: number | undefined; }) => { firstItemVisible: boolean; lastItemVisible: boolean; }; setFirstLastItemVisibility: () => Void; onLoad: () => Void; resizeHandler: () => Void; resize: () => Void; setInitial: () => Void; isScrollNeeded: ({ itemId, translate, }: { itemId: string; translate?: number | undefined; }) => boolean; scrollTo: (itemKey: string) => Void; getMenuItems: () => MenuItems; getItemsWidth: ({ items, }: { items?: MenuItems | undefined; }) => number; getWidth: ({ items, }: { items: MenuItems; }) => { wWidth: number; menuPos: number; menuWidth: number; allItemsWidth: number; }; updateWidth: ({ items, }: { items?: MenuItems | undefined; }) => Void; getFirstPageOffset: ({ items, offset, menuWidth, }: { items: MenuItems; offset: number; menuWidth: number; }) => number; getLastPageOffset: ({ items, allItemsWidth, menuWidth, }: { items: MenuItems; allItemsWidth: number; menuWidth: number; }) => number; getPagesOffsets: ({ items, allItemsWidth, menuWidth, offset, }: { items?: MenuItems | undefined; allItemsWidth?: number | undefined; menuWidth?: number | undefined; offset?: number | undefined; }) => { firstPageOffset: number; lastPageOffset: number; }; onItemClick: (id: string) => Void; getVisibleItems: ({ items, menuWidth, offset, translate, }: { items?: MenuItems | undefined; menuWidth?: number | undefined; offset?: number | undefined; translate?: number | undefined; }) => MenuItems; elemVisible: ({ x, offset, elWidth, menuWidth, }: { x: number; offset: number; elWidth: number; menuWidth?: number | undefined; }) => boolean; getItemInd: (menuItems: MenuItems | undefined, item: MenuItem) => number; getNextItemInd: (left: boolean, visibleItems: MenuItems) => number; getOffsetToItemByKey: (key: string) => number; getItemByKey: (key: React.ReactText) => MenuItem; getItemIndexByKey: (itemKey: string) => number; getOffsetToItemByIndex: ({ index, menuItems, translate, }: { index: number; menuItems?: MenuItems | undefined; translate?: number | undefined; }) => number; getScrollRightOffset: (visibleItems: MenuItems, items?: MenuItems) => number; getScrollLeftOffset: (visibleItems: MenuItems, items?: MenuItems) => number; getNextItem: (key: string) => MenuItem; getPrevItem: (key: string) => MenuItem; getOffset: (left: boolean, items?: MenuItems) => number; getCenterOffset: ({ items, menuWidth, }: { items?: MenuItems | undefined; menuWidth?: number | undefined; }) => number; handleWheel: (e: React.WheelEvent) => Void; getOffsetAtStart: () => number; getOffsetAtEnd: () => number; handleArrowClickRight: () => Void; handleArrowClick: (left?: boolean) => Void; itBeforeStart: (trans: number) => boolean; itAfterEnd: (trans: number) => boolean; getPoint: (ev: Event | React.MouseEvent | React.TouchEvent) => number; handleDragStart: (ev: React.MouseEvent | React.TouchEvent) => Void; handleDrag: (e: Event | React.MouseEvent | React.TouchEvent) => Void; handleDragStop: (e: Event | React.MouseEvent | React.TouchEvent) => Void; isArrowsVisible: () => boolean; onUpdate: ({ translate, translateOld, }: { translate?: number | undefined; translateOld?: number | undefined; }) => Void; render(): React.ReactNode | null; } export default ScrollMenu; //# sourceMappingURL=scrollMenu.d.ts.map