import type { NavigationAction, NavigationState, ParamListBase, Router } from '@react-navigation/routers'; import { AddKeyedListener, AddListener } from './NavigationBuilderContext'; import type { Descriptor, EventMapBase, NavigationHelpers, NavigationProp, RouteConfig, RouteProp } from './types'; import type { NavigationEventEmitter } from './useEventEmitter'; export declare type ScreenConfigWithParent = [ (ScreenOptionsOrCallback | undefined)[] | undefined, RouteConfig ]; declare type ScreenOptionsOrCallback = ScreenOptions | ((props: { route: RouteProp; navigation: any; }) => ScreenOptions); declare type Options = { state: State; screens: Record>; navigation: NavigationHelpers; screenOptions?: ScreenOptionsOrCallback; defaultScreenOptions?: ScreenOptions | ((props: { route: RouteProp; navigation: any; options: ScreenOptions; }) => ScreenOptions); onAction: (action: NavigationAction) => boolean; getState: () => State; setState: (state: State) => void; addListener: AddListener; addKeyedListener: AddKeyedListener; onRouteFocus: (key: string) => void; router: Router; emitter: NavigationEventEmitter; }; /** * Hook to create descriptor objects for the child routes. * * A descriptor object provides 3 things: * - Helper method to render a screen * - Options specified by the screen for the navigator * - Navigation object intended for the route */ export default function useDescriptors void>, ScreenOptions extends {}, EventMap extends EventMapBase>({ state, screens, navigation, screenOptions, defaultScreenOptions, onAction, getState, setState, addListener, addKeyedListener, onRouteFocus, router, emitter, }: Options): Record | ((state: State) => Readonly<{ type: string; payload?: object | undefined; source?: string | undefined; target?: string | undefined; }>)): void; navigate(...args: [screen: RouteName] | [screen: RouteName, params: object | undefined]): void; navigate(options: { key: string; params?: object | undefined; merge?: boolean | undefined; } | { name: RouteName_1; key?: string | undefined; params: object | undefined; merge?: boolean | undefined; }): void; reset(state: State | import("@react-navigation/routers").PartialState): void; goBack(): void; isFocused(): boolean; canGoBack(): boolean; getParent & Readonly<{ params?: Readonly; }> & { state?: Readonly | import("@react-navigation/routers").PartialState> | undefined; })[]; type: string; stale: false; }>, {}, {}> | undefined>(): T; getState(): State; } & import("./types").PrivateValueStore & { setParams(params: Partial): void; setOptions(options: Partial): void; } & import("./types").EventConsumer> & import("./types").PrivateValueStore & ActionHelpers, RouteProp>>; export {};