import { default as React } from 'react';
import { NavigationProp, RouteProp, StackScreenComponent, StackScreenOptions } from './types';
export declare function useNavigation<T extends Record<string, object | undefined>>(): NavigationProp<T>;
export declare function useRoute<T extends Record<string, object | undefined>, R extends keyof T>(): RouteProp<T, R>;
interface StackNavigatorProps<T extends Record<string, object | undefined>> {
    initialRouteName: keyof T;
    children: React.ReactElement<StackScreenComponent<T, keyof T>["props"]> | React.ReactElement<StackScreenComponent<T, keyof T>["props"]>[];
    screenOptions?: StackScreenOptions | ((props: {
        route: RouteProp<T, keyof T>;
        navigation: NavigationProp<T>;
    }) => StackScreenOptions);
    mode?: "memory" | "path";
    basePath?: string;
}
export declare function createStackNavigator<T extends Record<string, object | undefined>>(): {
    Navigator: (props: StackNavigatorProps<T>) => import("react/jsx-runtime").JSX.Element;
    Screen: <R extends keyof T>(_props: StackScreenComponent<T, R>["props"]) => null;
};
export {};
