import { type ComponentType } from 'react'; import type { IntegrateWithRouterOptions, NavigatorContentProps, StandardNavigator, StandardNavigatorEventMapBase, StandardRouterNavigatorProps } from './types'; import { withLayoutContext } from '../layouts/withLayoutContext'; import { type DefaultRouterOptions, type EventMapBase, type NavigationAction, type NavigationState, type RouterFactory } from '../react-navigation/native'; export type { IntegrateWithRouterOptions, NavigatorContentProps, StandardNavigatorEventMapBase, StandardUseNavigationBuilderOptions, } from './types'; type IntegrateWithRouterOptionsTuple = [ keyof CreateProps ] extends [never] ? [options?: IntegrateWithRouterOptions] : [options: IntegrateWithRouterOptions]; type StandardRouterNavigatorComponent = ReturnType>, State, EventMap & EventMapBase>>; /** * > **warning** This API is unstable and may change between minor releases. * * Creates a [`standard-navigation`](https://www.npmjs.com/package/standard-navigation) navigator and * wires it into Expo Router in one step. Use `unstable_integrateWithRouter` instead if you already * have a navigator from `createStandardNavigator`. * Props declared in both `NavigatorProps` and `CreateProps` are intersected, so incompatible types * produce `never` rather than a type error at this call. * * @param NavigatorContent Renders the navigator UI; receives the standard-navigation `state`, * `descriptors`, `actions`, and `emitter`. * @param router The router factory to use. For example, `StackRouter` or `TabRouter`. * @param options See `IntegrateWithRouterOptions`. * * @example * ```tsx * import { unstable_createStandardRouterNavigator, TabRouter } from 'expo-router'; * * export const Tabs = unstable_createStandardRouterNavigator(MyTabsContent, TabRouter); * ``` */ export declare function unstable_createStandardRouterNavigator(NavigatorContent: ComponentType>, router: RouterFactory, ...options: IntegrateWithRouterOptionsTuple>): StandardRouterNavigatorComponent; /** * > **warning** This API is unstable and may change between minor releases. * * Wires an existing [`standard-navigation`](https://www.npmjs.com/package/standard-navigation) * navigator into Expo Router, returning a navigator component (with a `.Screen` child) usable as a * layout. Use `unstable_createStandardRouterNavigator` to create and integrate in one step. * * @param navigator The object returned by `createStandardNavigator(...)`. * @param router The router factory to use. For example, `StackRouter` or `TabRouter`. * @param options See `IntegrateWithRouterOptions`. * * @example * ```tsx * import { createStandardNavigator } from 'standard-navigation'; * import { unstable_integrateWithRouter, TabRouter } from 'expo-router'; * * const navigator = createStandardNavigator(MyTabsContent); * export const Tabs = unstable_integrateWithRouter(navigator, TabRouter); * ``` */ export declare function unstable_integrateWithRouter(navigator: StandardNavigator, router: RouterFactory, ...[options]: IntegrateWithRouterOptionsTuple>): import("react").ForwardRefExoticComponent, "children">> & import("react").RefAttributes & { unstable_screenErrorBoundary?: ComponentType; }> & { Screen: (props: import("..").ScreenProps) => null; Protected: typeof import("../views/Protected").Protected; }; //# sourceMappingURL=index.d.ts.map