import type { ScrollEdgeEffect } from "./ScrollEdgeEffect"; import React from "react"; import type * as ReactNative from "react-native"; export type OnPageScrollEventData = Readonly<{ position: number; offset: number; }>; export type OnPageSelectedEventData = Readonly<{ position: number; }>; export type OnPageScrollStateChangedEventData = Readonly<{ pageScrollState: "idle" | "dragging" | "settling"; }>; export type OnCollapsibleStateChangedEventData = Readonly<{ position: number; headerOffset: number; nativePageCount: number; attachedPageCount: number; observedScrollableCount: number; retainedPages: string; reason: string; }>; interface WebCollapsiblePagerNativeProps extends ReactNative.ViewProps { scrollEnabled?: boolean; initialPage?: number; offscreenPageLimit?: number; onPageScroll?: (event: ReactNative.NativeSyntheticEvent) => void; onPageSelected?: (event: ReactNative.NativeSyntheticEvent) => void; onPageScrollStateChanged?: (event: ReactNative.NativeSyntheticEvent) => void; onCollapsibleStateChanged?: (event: ReactNative.NativeSyntheticEvent) => void; } export type CollapsiblePagerDiagnostics = ReactNative.NativeSyntheticEvent; export type CollapsiblePagerMountState = Readonly<{ position: number; mountedPages: readonly number[]; pageKeys: readonly string[]; }>; export interface CollapsiblePagerViewProps extends Omit { header: React.ReactNode; stickyHeader: React.ReactNode; headerHeight?: number; stickyHeaderHeight?: number; isActive?: boolean; topOverlay?: React.ReactNode; topScrollEdgeEffect?: `${ScrollEdgeEffect}`; topOverlayColorScheme?: "light" | "dark"; externalTopOverlayTag?: number; pageRetentionDistance?: number; layoutDirection?: "ltr" | "rtl" | "locale"; children?: React.ReactNode; onMountedPagesChanged?: (state: CollapsiblePagerMountState) => void; } type State = { selectedPage: number; animateTransition: boolean; }; type WebRouteTarget = Readonly<{ key: string; identity: string; owner: HTMLElement; generation: number; top: number; }>; /** Web counterpart of the native collapsible pager contract. */ export declare class CollapsiblePagerView extends React.PureComponent { state: State; private root; private track; private headerSlot; private stickySlot; private cssTimelineSupported; private overlayTouch; private touchStartX; private touchStartY; private horizontalTouch; private pageOffsets; private pageHosts; private pageScrollIdentities; private pageBridges; private ownerRecords; private ownerGeneration; private lastRawTops; private routeTarget; private measuredHeaderHeight; private measuredStickyHeight; private headerMeasured; private stickyMeasured; private headerContent; private stickyContent; private chromeObserver; private chromeMeasureFrame; private disposed; private sharedHeaderOffset; private selectionRestoreToken; private bodyAlignment; private scrollEnabled; private lastMountSignature; private configureFrame; private pendingTopFrame; private transitionTimer; private pageScrollState; private configuredScrollElement; private readonly timelineName; private get headerHeight(); private get hasExplicitHeaderHeight(); private get stickyHeaderHeight(); private get hasExplicitStickyHeaderHeight(); getSnapshotBeforeUpdate(previousProps: CollapsiblePagerViewProps): Readonly<{ key: string; identity: string; owner: HTMLElement; generation: number; top: number; }> | null; componentDidMount(): void; componentDidUpdate(previousProps: CollapsiblePagerViewProps, _previousState: State, routeSnapshot: WebRouteTarget | null): void; componentWillUnmount(): void; private setHeaderContent; private setStickyContent; private observeChrome; private scheduleChromeMeasurement; private onPageBridge; private setRouteTarget; private syncPageOwner; private captureRouteTarget; restoreScrollPosition: () => boolean; private onPageScroll; private onPageGeometryChange; private onPageUserInput; setPage: (selectedPage: number) => void; setPageWithoutAnimation: (selectedPage: number) => void; scrollToPageTop: (options?: Readonly<{ animated?: boolean; }>) => void; scrollToStickyTop: (options?: Readonly<{ animated?: boolean; }>) => void; private cancelPendingTopFrame; private onQueuedTopWheel; private onScrollbarPointerDown; private onQueuedTopKey; private scrollCurrentPageToTop; setScrollEnabled: (scrollEnabled: boolean) => void; private pages; private retentionDistance; private mountedPages; private nativeEvent; private emitPageScrollState; private finishPageTransition; private beginPageTransition; private onTrackTransitionEnd; private setTrack; private pageScrollElement; private setRoot; private overlayTarget; private nestedScrollConsumes; private scrollOverlayOwner; private onOverlayWheel; private onOverlayTouchStart; private onOverlayTouchMove; private onOverlayTouchEnd; private synchronizeScrollOwnerIdentity; private onScrollOwnerIdentityChanged; private notifyInsetsChanged; private restoreConfiguredScrollElement; private configureActiveScrollElement; private syncFallbackHeader; private scheduleScrollConfiguration; private takeOverVerticalScroll; private onListScrollCommandAccepted; private onVerticalScrollSettled; private savePageOffset; private restorePageOffset; private selectPage; private notifyMountedPagesChanged; private emitDiagnostics; private onTouchStart; private onTouchMove; private onTouchEnd; private onTouchCancel; render(): import("react/jsx-runtime").JSX.Element; } export type CollapsiblePagerViewOnPageScrollEvent = ReactNative.NativeSyntheticEvent; export type CollapsiblePagerViewOnPageSelectedEvent = ReactNative.NativeSyntheticEvent; export type CollapsiblePagerViewOnPageScrollStateChangedEvent = ReactNative.NativeSyntheticEvent; export {}; //# sourceMappingURL=CollapsiblePagerView.web.d.ts.map