    import React from "react";
    import { createStackNavigator, StackNavigationProp } from '@react-navigation/stack';
    import Intro from "../components/Auth/Intro";;
    import { RegisterMain } from "../components/Auth/Registration/RegisterMain";
    import { RegistrationFormProvider } from "../contexts/RegisterContext";

    /**
     * Permitted screens for the Auth stack navigator.
     * @category Navigation
     * @typedef
     */
    export type AuthStackParamList = {
        Intro: React.FC,
        Login: React.FC,
        Register: React.FC,
    }

    export type AuthStackNavigationProp = StackNavigationProp<AuthStackParamList>;

    const AuthStack = createStackNavigator<AuthStackParamList>();

    /**
     * The root navigator for all unauthorized screens ({@link Intro}, {@link RegisterMain}). It uses a [React Navigation Stack Navigator]{@link https://reactnavigation.org/docs/stack-navigator/} the main navigation mechanism.
     * @category Navigation
     * @component
     */
    const UnauthorizedNavigator : React.FC = () => {
        return (
            <RegistrationFormProvider>
                <AuthStack.Navigator screenOptions={{
                    headerTransparent: true,
                    headerTintColor: 'white',
                    headerTitle: ""}}>
                    <AuthStack.Screen name="Intro" component={Intro} />
                    <AuthStack.Screen name="Register" component={RegisterMain} />
                </AuthStack.Navigator>
            </RegistrationFormProvider>
        );
    }

    export default UnauthorizedNavigator;