import { CardStyleInterpolators, createStackNavigator } from '@react-navigation/stack';
import React from 'react';
import { useTranslation } from 'react-i18next';
import HeaderRightHome from '../components/buttons/HeaderHome';
import { useTheme } from '../contexts/theme';
import Connection from '../screens/Connection';
import CredentialOffer from '../screens/CredentialOffer';
import ProofRequest from '../screens/ProofRequest';
import { Screens } from '../types/navigators';
import { useDefaultStackOptions } from './defaultStackOptions';
import OpenIDProofPresentation from '../modules/openid/screens/OpenIDProofPresentation';
import { TOKENS, useServices } from '../container-api';
import OpenIDCredentialOffer from '../modules/openid/screens/OpenIDCredentialOffer';
const DeliveryStack = () => {
  const Stack = createStackNavigator();
  const {
    t
  } = useTranslation();
  const theme = useTheme();
  const defaultStackOptions = useDefaultStackOptions(theme);
  const [ScreenOptionsDictionary] = useServices([TOKENS.OBJECT_SCREEN_CONFIG]);
  return /*#__PURE__*/React.createElement(Stack.Navigator, {
    initialRouteName: Screens.Connection,
    screenOptions: {
      ...defaultStackOptions,
      cardStyleInterpolator: CardStyleInterpolators.forVerticalIOS,
      headerShown: true,
      presentation: 'modal',
      headerLeft: () => null,
      headerRight: () => /*#__PURE__*/React.createElement(HeaderRightHome, null),
      ...ScreenOptionsDictionary[Screens.Connection]
    }
  }, /*#__PURE__*/React.createElement(Stack.Screen, {
    name: Screens.Connection,
    component: Connection,
    options: {
      ...defaultStackOptions
    }
  }), /*#__PURE__*/React.createElement(Stack.Screen, {
    name: Screens.ProofRequest,
    component: ProofRequest,
    options: {
      title: t('Screens.ProofRequest'),
      ...ScreenOptionsDictionary[Screens.ProofRequest]
    }
  }), /*#__PURE__*/React.createElement(Stack.Screen, {
    name: Screens.CredentialOffer,
    component: CredentialOffer,
    options: {
      title: t('Screens.CredentialOffer'),
      ...ScreenOptionsDictionary[Screens.CredentialOffer]
    }
  }), /*#__PURE__*/React.createElement(Stack.Screen, {
    name: Screens.OpenIDCredentialOffer,
    component: OpenIDCredentialOffer,
    options: {
      title: t('Screens.CredentialOffer'),
      ...ScreenOptionsDictionary[Screens.OpenIDCredentialOffer]
    }
  }), /*#__PURE__*/React.createElement(Stack.Screen, {
    name: Screens.OpenIDProofPresentation,
    component: OpenIDProofPresentation,
    options: {
      title: t('Screens.ProofRequest'),
      ...ScreenOptionsDictionary[Screens.OpenIDProofPresentation]
    }
  }));
};
export default DeliveryStack;
//# sourceMappingURL=DeliveryStack.js.map