import type { EventMapBase, NavigationState, ParamListBase, RouteProp, ScreenListeners } from '@react-navigation/native'; import React from 'react'; import { type RouteNode } from './Route'; export type ScreenProps = Record, State extends NavigationState = NavigationState, EventMap extends EventMapBase = EventMapBase> = { /** Name is required when used inside a Layout component. */ name?: string; /** * Redirect to the nearest sibling route. * If all children are redirect={true}, the layout will render `null` as there are no children to render. */ redirect?: boolean; initialParams?: Record; options?: TOptions; listeners?: ScreenListeners | ((prop: { route: RouteProp; navigation: any; }) => ScreenListeners); getId?: ({ params }: { params?: Record; }) => string | undefined; }; /** * @returns React Navigation screens sorted by the `route` property. */ export declare function useSortedScreens(order: ScreenProps[]): React.ReactNode[]; /** Wrap the component with various enhancements and add access to child routes. */ export declare function getQualifiedRouteComponent(value: RouteNode): React.ComponentType | React.ForwardRefExoticComponent & React.RefAttributes>; /** @returns a function which provides a screen id that matches the dynamic route name in params. */ export declare function createGetIdForRoute(route: Pick): ({ params }?: { params?: Record | undefined; }) => string; //# sourceMappingURL=useScreens.d.ts.map