import type React from 'react'; import type { LayoutRectangle, SectionListScrollParams } from 'react-native'; import type Animated from 'react-native-reanimated'; export type ScrollToIndexParams = { animated?: boolean | null; index: number; viewOffset?: number; viewPosition?: number; }; export type CollapsibleHandles = { /** * Collapse the header by header height * @param animated * @returns */ collapse: (animated?: boolean) => void; /** * Expand header * @returns */ expand: () => void; scrollTo: (offset: number, animate?: boolean) => void; scrollToIndex: (params: ScrollToIndexParams) => void; scrollToLocation: (params: SectionListScrollParams) => void; }; export type CollapsibleContextType = CollapsibleHandles & { scrollY: Animated.SharedValue; headerHeight: Animated.SharedValue; headerCollapsed: Animated.SharedValue; /** * Scroll to specific view * @param ref View that you want to scroll to * @param animated * @returns */ scrollToView: (ref: React.RefObject, animated?: boolean) => void; }; export type LayoutParams = { top: number; left: number; width: number; height: number; }; export type CollapsibleContextInternalType = { scrollViewRef: React.RefObject; containerRef: React.RefObject; containerHeight: Animated.SharedValue; contentMinHeight: Animated.SharedValue; headerViewPositions: Animated.SharedValue>; fixedHeaderHeight: Animated.SharedValue; headerHeight: Animated.SharedValue; handleHeaderContainerLayout: (key: string, layout?: LayoutRectangle, stickyHeight?: number) => void; setCollapsibleHandlers: (handlers: CollapsibleHandles) => void; }; export type CollapsibleProps = { headerSnappable?: boolean; }; export type PullToRefreshContextType = { refreshValue: Animated.SharedValue; internalRefreshing: Animated.SharedValue; internalHeight: Animated.SharedValue; }; //# sourceMappingURL=types.d.ts.map