import type { EventProperties } from "./client.js"; import type { ScreenTrackingObservation } from "./screen-tracking.js"; /** The active-route fields used by the React Navigation adapter. */ export type ReactNavigationRoute = { key: string; name: string; params?: unknown; }; /** Structural subset of a React Navigation container ref. */ export type ReactNavigationContainerRef = { addListener: (event: "state", listener: () => void) => () => void; getCurrentRoute: () => ReactNavigationRoute | undefined; isReady: () => boolean; }; export type ReactNavigationScreen = { name: string; properties?: EventProperties; }; export type ReactNavigationScreenMapper = (route: ReactNavigationRoute) => ReactNavigationScreen | null | undefined; export declare function observeReactNavigationScreens(input: { navigationRef: ReactNavigationContainerRef; observeScreen: (observation: ScreenTrackingObservation) => void; toScreen?: ReactNavigationScreenMapper; }): () => void;