import { type NavigatorTypeBagBase, type ParamListBase, type StaticConfig, type TypedNavigator } from "@react-navigation/native";
import * as React from "react";
import type { BottomSheetNavigationEventMap, BottomSheetNavigationOptions, BottomSheetNavigationProp, BottomSheetNavigationState, BottomSheetNavigatorProps } from "./types";
/**
* Unified Navigator that renders the first screen as the base content
* and all subsequent screens as bottom sheet overlays.
*
* Uses BottomSheetRouter (extending StackRouter) to manage navigation state,
* with react-native-screens ScreenStack for the base screen rendering
* and BottomSheetView for the sheet overlays.
*/
declare function Navigator({ id, children, screenListeners, screenOptions, initialRouteName, ...rest }: BottomSheetNavigatorProps): React.JSX.Element;
/**
* Creates a bottom sheet navigator that renders the first screen as the
* main content and all subsequent screens as bottom sheet modals.
*
* @example
* ```tsx
* // With React Navigation
* const { Navigator, Screen } = createBottomSheetNavigator();
*
* function App() {
* return (
*
*
*
*
* );
* }
* ```
*
* @example
* ```tsx
* // With Expo Router
* import { Slot, withLayoutContext } from "expo-router";
* import {
* createBottomSheetNavigator,
* BottomSheetNavigationOptions,
* BottomSheetNavigationEventMap,
* BottomSheetNavigationState,
* } from "@niibase/bottom-sheet-manager";
*
* const { Navigator } = createBottomSheetNavigator();
*
* const BottomSheet = withLayoutContext<
* BottomSheetNavigationOptions,
* typeof Navigator,
* BottomSheetNavigationState,
* BottomSheetNavigationEventMap
* >(Navigator);
*
* export const unstable_settings = {
* initialRouteName: "index",
* };
*
* export default function Layout() {
* // SSR guard - navigator doesn't work on server
* if (typeof window === "undefined") return ;
*
* return (
*
*
*
*
* );
* }
* ```
*/
export declare function createBottomSheetNavigator;
ScreenOptions: BottomSheetNavigationOptions;
EventMap: BottomSheetNavigationEventMap;
NavigationList: {
[RouteName in keyof ParamList]: BottomSheetNavigationProp;
};
Navigator: typeof Navigator;
}, const Config extends StaticConfig = StaticConfig>(config?: Config): TypedNavigator;
export * from "./types";
export { BottomSheetActions, useBottomSheetNavigation } from "./router";
//# sourceMappingURL=index.d.ts.map