import { type CommonActions, type ParamListBase, type Router, type StackActionType, type StackRouterOptions } from "@react-navigation/native"; import type { BottomSheetNavigationProp, BottomSheetNavigationState } from "./types"; export type BottomSheetRouterOptions = StackRouterOptions; export type BottomSheetActionType = StackActionType | ReturnType | { type: "SNAP_TO"; index: number; source?: string; target?: string; } | { type: "DISMISS"; source?: string; target?: string; } | { type: "REMOVE"; source?: string; target?: string; }; export declare const BottomSheetActions: { /** * Snap the bottom sheet to a specific index. */ snapTo: (index: number) => BottomSheetActionType; /** * Dismiss the current bottom sheet. */ dismiss: () => BottomSheetActionType; /** * Remove the sheet from navigation state after dismiss animation completes. */ remove: () => BottomSheetActionType; replace(name: string, params?: object): { readonly type: "REPLACE"; readonly payload: { readonly name: string; readonly params: object | undefined; }; }; push(name: string, params?: object): { readonly type: "PUSH"; readonly payload: { readonly name: string; readonly params: object | undefined; }; }; pop(count?: number): { readonly type: "POP"; readonly payload: { readonly count: number; }; }; popToTop(): { readonly type: "POP_TO_TOP"; }; popTo(name: string, params?: object, options?: { merge?: boolean; }): { readonly type: "POP_TO"; readonly payload: { readonly name: string; readonly params: object | undefined; readonly merge: boolean | undefined; }; }; }; export declare const BottomSheetRouter: (routerOptions: StackRouterOptions) => Router, BottomSheetActionType>; /** * Hook to access BottomSheet navigation with the snapTo helper. * * @example * ```tsx * function MySheet() { * const navigation = useBottomSheetNavigation(); * * // Snap to a specific index * const handleExpand = () => { * navigation.snapTo(1); // Snap to second index * }; * * return ( *