/** * Created by ananya.chandra on 20/09/18. */ import { StyleProp, ViewStyle } from 'react-native'; import { Layout } from '../layoutmanager/LayoutManager'; import { Dimension } from '../dependencies/LayoutProvider'; import { ComponentCompat } from '../../utils/ComponentCompat'; import { WindowCorrection } from '../ViewabilityTracker'; export declare enum StickyType { HEADER = 0, FOOTER = 1 } export interface StickyObjectProps { stickyIndices: number[] | undefined; getLayoutForIndex: (index: number) => Layout | undefined; getDataForIndex: (index: number) => any; getLayoutTypeForIndex: (index: number) => string | number; getExtendedState: () => object | undefined; getRLVRenderedSize: () => Dimension | undefined; getContentDimension: () => Dimension | undefined; getRowRenderer: () => (type: string | number, data: any, index: number, extendedState?: object) => JSX.Element | JSX.Element[] | null; overrideRowRenderer?: (type: string | number | undefined, data: any, index: number, extendedState?: object) => JSX.Element | JSX.Element[] | null; renderContainer?: (rowContent: JSX.Element, index: number, extendState?: object) => JSX.Element | null; getWindowCorrection?: () => WindowCorrection; } export default abstract class StickyObject

extends ComponentCompat

{ protected stickyType: StickyType; protected stickyTypeMultiplier: number; protected stickyVisiblity: boolean; protected containerPosition: StyleProp; protected currentIndex: number; protected currentStickyIndex: number; protected visibleIndices: number[]; protected bounceScrolling: boolean; private _previousLayout; private _previousHeight; private _nextLayout; private _nextY; private _nextHeight; private _currentLayout; private _currentY; private _currentHeight; private _nextYd; private _currentYd; private _scrollableHeight; private _scrollableWidth; private _windowBound; private _stickyViewOffset; private _previousStickyIndex; private _nextStickyIndex; private _firstCompute; private _smallestVisibleIndex; private _largestVisibleIndex; private _offsetY; private _windowCorrection; constructor(props: P, context?: any); componentWillReceiveProps(newProps: StickyObjectProps): void; renderCompat(): JSX.Element | null; onVisibleIndicesChanged(all: number[]): void; onScroll(offsetY: number): void; protected abstract hasReachedBoundary(offsetY: number, windowBound?: number): boolean; protected abstract initStickyParams(): void; protected abstract calculateVisibleStickyIndex(stickyIndices: number[] | undefined, smallestVisibleIndex: number, largestVisibleIndex: number, offsetY: number, windowBound?: number): void; protected abstract getNextYd(_nextY: number, nextHeight: number): number; protected abstract getCurrentYd(currentY: number, currentHeight: number): number; protected abstract getScrollY(offsetY: number, scrollableHeight?: number): number | undefined; protected stickyViewVisible(_visible: boolean, shouldTriggerRender?: boolean): void; protected getWindowCorrection(props: StickyObjectProps): WindowCorrection; protected boundaryProcessing(offsetY: number, windowBound?: number): void; private _updateDimensionParams; private _computeLayouts; private _setSmallestAndLargestVisibleIndices; private _renderSticky; private _getAdjustedOffsetY; } //# sourceMappingURL=StickyObject.d.ts.map