@umituz/react-native-ai-generation-content 1.26.2 → 1.26.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (333) hide show
  1. package/package.json +3 -2
  2. package/src/domains/generation/application/feature-registry.ts +101 -0
  3. package/src/domains/generation/application/generation-strategy.factory.ts +128 -0
  4. package/src/domains/generation/domain/feature-config.types.ts +61 -0
  5. package/src/domains/generation/domain/generation.types.ts +74 -0
  6. package/src/domains/generation/index.ts +37 -0
  7. package/src/domains/generation/presentation/useAIGeneration.hook.ts +106 -0
  8. package/src/domains/wizard/infrastructure/strategies/wizard-strategy.factory.ts +3 -4
  9. package/src/index.ts +3 -29
  10. package/src/infrastructure/executors/executor-factory.ts +53 -0
  11. package/src/infrastructure/executors/image-executor.ts +133 -0
  12. package/src/infrastructure/executors/video-executor.ts +130 -0
  13. package/src/presentation/components/index.ts +0 -3
  14. package/src/presentation/hooks/index.ts +0 -7
  15. package/src/features/ai-hug/README.md +0 -438
  16. package/src/features/ai-hug/domain/index.ts +0 -5
  17. package/src/features/ai-hug/domain/types/ai-hug.types.ts +0 -25
  18. package/src/features/ai-hug/domain/types/index.ts +0 -7
  19. package/src/features/ai-hug/index.ts +0 -19
  20. package/src/features/ai-hug/presentation/components/AIHugFeature.tsx +0 -77
  21. package/src/features/ai-hug/presentation/components/index.ts +0 -2
  22. package/src/features/ai-hug/presentation/hooks/index.ts +0 -9
  23. package/src/features/ai-hug/presentation/hooks/useAIHugFeature.ts +0 -34
  24. package/src/features/ai-hug/presentation/index.ts +0 -6
  25. package/src/features/ai-kiss/README.md +0 -445
  26. package/src/features/ai-kiss/domain/index.ts +0 -5
  27. package/src/features/ai-kiss/domain/types/ai-kiss.types.ts +0 -25
  28. package/src/features/ai-kiss/domain/types/index.ts +0 -7
  29. package/src/features/ai-kiss/index.ts +0 -19
  30. package/src/features/ai-kiss/presentation/components/AIKissFeature.tsx +0 -77
  31. package/src/features/ai-kiss/presentation/components/index.ts +0 -2
  32. package/src/features/ai-kiss/presentation/hooks/index.ts +0 -9
  33. package/src/features/ai-kiss/presentation/hooks/useAIKissFeature.ts +0 -34
  34. package/src/features/ai-kiss/presentation/index.ts +0 -6
  35. package/src/features/anime-selfie/README.md +0 -396
  36. package/src/features/anime-selfie/domain/index.ts +0 -5
  37. package/src/features/anime-selfie/domain/types/anime-selfie.types.ts +0 -52
  38. package/src/features/anime-selfie/domain/types/index.ts +0 -8
  39. package/src/features/anime-selfie/index.ts +0 -20
  40. package/src/features/anime-selfie/presentation/components/AnimeSelfieFeature.tsx +0 -86
  41. package/src/features/anime-selfie/presentation/components/index.ts +0 -2
  42. package/src/features/anime-selfie/presentation/hooks/index.ts +0 -9
  43. package/src/features/anime-selfie/presentation/hooks/useAnimeSelfieFeature.ts +0 -59
  44. package/src/features/anime-selfie/presentation/index.ts +0 -6
  45. package/src/features/couple-future/README.md +0 -445
  46. package/src/features/couple-future/domain/types.ts +0 -63
  47. package/src/features/couple-future/domain/wizard-config.adapter.ts +0 -76
  48. package/src/features/couple-future/domain/wizard.types.ts +0 -121
  49. package/src/features/couple-future/index.ts +0 -83
  50. package/src/features/couple-future/infrastructure/coupleFeatureRegistry.ts +0 -76
  51. package/src/features/couple-future/infrastructure/couplePromptEnhancer.ts +0 -100
  52. package/src/features/couple-future/infrastructure/executor.ts +0 -188
  53. package/src/features/couple-future/infrastructure/generationUtils.ts +0 -228
  54. package/src/features/couple-future/presentation/components/ArtStyleSelector.tsx +0 -146
  55. package/src/features/couple-future/presentation/components/ArtistStyleSelector.tsx +0 -122
  56. package/src/features/couple-future/presentation/components/CoupleFutureWizard.tsx +0 -239
  57. package/src/features/couple-future/presentation/components/GeneratingStepContent.tsx +0 -86
  58. package/src/features/couple-future/presentation/components/RomanticMoodSelector.tsx +0 -147
  59. package/src/features/couple-future/presentation/components/WardrobeSelector.tsx +0 -141
  60. package/src/features/couple-future/presentation/components/index.ts +0 -12
  61. package/src/features/couple-future/presentation/hooks/useCoupleFutureFlow.ts +0 -166
  62. package/src/features/couple-future/presentation/hooks/useCoupleFutureFlow.types.ts +0 -69
  63. package/src/features/couple-future/presentation/hooks/useCoupleFutureHandlers.ts +0 -117
  64. package/src/features/couple-future/presentation/screens/CoupleFeatureScreen.tsx +0 -113
  65. package/src/features/face-swap/README.md +0 -431
  66. package/src/features/face-swap/domain/index.ts +0 -5
  67. package/src/features/face-swap/domain/types/face-swap.types.ts +0 -26
  68. package/src/features/face-swap/domain/types/index.ts +0 -7
  69. package/src/features/face-swap/index.ts +0 -19
  70. package/src/features/face-swap/presentation/components/FaceSwapFeature.tsx +0 -87
  71. package/src/features/face-swap/presentation/components/index.ts +0 -2
  72. package/src/features/face-swap/presentation/hooks/index.ts +0 -6
  73. package/src/features/face-swap/presentation/hooks/useFaceSwapFeature.ts +0 -35
  74. package/src/features/face-swap/presentation/index.ts +0 -6
  75. package/src/features/hd-touch-up/README.md +0 -396
  76. package/src/features/hd-touch-up/domain/index.ts +0 -1
  77. package/src/features/hd-touch-up/domain/types/hd-touch-up.types.ts +0 -62
  78. package/src/features/hd-touch-up/domain/types/index.ts +0 -9
  79. package/src/features/hd-touch-up/index.ts +0 -21
  80. package/src/features/hd-touch-up/presentation/components/HDTouchUpFeature.tsx +0 -86
  81. package/src/features/hd-touch-up/presentation/components/index.ts +0 -2
  82. package/src/features/hd-touch-up/presentation/hooks/index.ts +0 -1
  83. package/src/features/hd-touch-up/presentation/hooks/useHDTouchUpFeature.ts +0 -23
  84. package/src/features/hd-touch-up/presentation/index.ts +0 -2
  85. package/src/features/image-to-image/README.md +0 -459
  86. package/src/features/image-to-image/domain/index.ts +0 -1
  87. package/src/features/image-to-image/domain/types/base.types.ts +0 -48
  88. package/src/features/image-to-image/domain/types/index.ts +0 -1
  89. package/src/features/image-to-image/domain/types/partials/config.types.ts +0 -37
  90. package/src/features/image-to-image/domain/types/partials/hook.types.ts +0 -53
  91. package/src/features/image-to-image/domain/types/partials/metadata.types.ts +0 -32
  92. package/src/features/image-to-image/domain/types/partials/result.types.ts +0 -44
  93. package/src/features/image-to-image/domain/types/partials/state.types.ts +0 -34
  94. package/src/features/image-to-image/domain/types/partials/translation.types.ts +0 -57
  95. package/src/features/image-to-image/index.ts +0 -2
  96. package/src/features/image-to-image/presentation/hooks/index.ts +0 -3
  97. package/src/features/image-to-image/presentation/hooks/useDualImageFeature.ts +0 -204
  98. package/src/features/image-to-image/presentation/hooks/useImageWithPromptFeature.ts +0 -223
  99. package/src/features/image-to-image/presentation/hooks/useSingleImageFeature.ts +0 -166
  100. package/src/features/image-to-image/presentation/index.ts +0 -1
  101. package/src/features/image-to-video/README.md +0 -414
  102. package/src/features/image-to-video/domain/constants/animation.constants.ts +0 -47
  103. package/src/features/image-to-video/domain/constants/duration.constants.ts +0 -13
  104. package/src/features/image-to-video/domain/constants/form.constants.ts +0 -22
  105. package/src/features/image-to-video/domain/constants/index.ts +0 -23
  106. package/src/features/image-to-video/domain/constants/music.constants.ts +0 -53
  107. package/src/features/image-to-video/domain/index.ts +0 -5
  108. package/src/features/image-to-video/domain/types/animation.types.ts +0 -20
  109. package/src/features/image-to-video/domain/types/config.types.ts +0 -56
  110. package/src/features/image-to-video/domain/types/duration.types.ts +0 -11
  111. package/src/features/image-to-video/domain/types/form.types.ts +0 -35
  112. package/src/features/image-to-video/domain/types/image-to-video.types.ts +0 -122
  113. package/src/features/image-to-video/domain/types/index.ts +0 -39
  114. package/src/features/image-to-video/domain/types/music.types.ts +0 -21
  115. package/src/features/image-to-video/index.ts +0 -116
  116. package/src/features/image-to-video/infrastructure/index.ts +0 -1
  117. package/src/features/image-to-video/infrastructure/services/image-to-video-executor.ts +0 -154
  118. package/src/features/image-to-video/infrastructure/services/index.ts +0 -5
  119. package/src/features/image-to-video/presentation/components/AddMoreCard.tsx +0 -52
  120. package/src/features/image-to-video/presentation/components/AnimationStyleSelector.tsx +0 -135
  121. package/src/features/image-to-video/presentation/components/DurationSelector.tsx +0 -110
  122. package/src/features/image-to-video/presentation/components/EmptyGridState.tsx +0 -69
  123. package/src/features/image-to-video/presentation/components/GridImageItem.tsx +0 -64
  124. package/src/features/image-to-video/presentation/components/ImageSelectionGrid.styles.ts +0 -84
  125. package/src/features/image-to-video/presentation/components/ImageSelectionGrid.tsx +0 -77
  126. package/src/features/image-to-video/presentation/components/ImageSelectionGrid.types.ts +0 -18
  127. package/src/features/image-to-video/presentation/components/MusicMoodSelector.tsx +0 -181
  128. package/src/features/image-to-video/presentation/components/index.ts +0 -30
  129. package/src/features/image-to-video/presentation/hooks/index.ts +0 -27
  130. package/src/features/image-to-video/presentation/hooks/useFormState.ts +0 -116
  131. package/src/features/image-to-video/presentation/hooks/useGeneration.ts +0 -85
  132. package/src/features/image-to-video/presentation/hooks/useGenerationExecution.ts +0 -143
  133. package/src/features/image-to-video/presentation/hooks/useImageToVideoFeature.ts +0 -107
  134. package/src/features/image-to-video/presentation/hooks/useImageToVideoForm.ts +0 -119
  135. package/src/features/image-to-video/presentation/hooks/useImageToVideoValidation.ts +0 -46
  136. package/src/features/image-to-video/presentation/index.ts +0 -5
  137. package/src/features/love-message/domain/constants.ts +0 -162
  138. package/src/features/love-message/domain/types.ts +0 -58
  139. package/src/features/love-message/index.ts +0 -37
  140. package/src/features/love-message/infrastructure/persistence/PartnerProfileRepository.ts +0 -52
  141. package/src/features/love-message/infrastructure/prompts/messagePromptBuilder.ts +0 -109
  142. package/src/features/love-message/infrastructure/services/LoveMessageService.ts +0 -35
  143. package/src/features/love-message/presentation/components/CategoryGrid.tsx +0 -88
  144. package/src/features/love-message/presentation/components/DetailsInput.tsx +0 -74
  145. package/src/features/love-message/presentation/components/ExploreHeader.tsx +0 -67
  146. package/src/features/love-message/presentation/components/FieldInput.tsx +0 -83
  147. package/src/features/love-message/presentation/components/GeneratorHeader.tsx +0 -88
  148. package/src/features/love-message/presentation/components/LoveMessageHeroSection.tsx +0 -114
  149. package/src/features/love-message/presentation/components/MessageListItem.tsx +0 -77
  150. package/src/features/love-message/presentation/components/MessageResult.tsx +0 -105
  151. package/src/features/love-message/presentation/components/PartnerInput.tsx +0 -78
  152. package/src/features/love-message/presentation/components/ProgressDots.tsx +0 -48
  153. package/src/features/love-message/presentation/components/StepDetails.tsx +0 -23
  154. package/src/features/love-message/presentation/components/StepPartner.tsx +0 -116
  155. package/src/features/love-message/presentation/components/StepVibe.tsx +0 -30
  156. package/src/features/love-message/presentation/components/ToneSelector.tsx +0 -100
  157. package/src/features/love-message/presentation/components/TrendingSection.tsx +0 -130
  158. package/src/features/love-message/presentation/components/TypeSelector.tsx +0 -99
  159. package/src/features/love-message/presentation/hooks/useLoveMessageGenerator.ts +0 -114
  160. package/src/features/love-message/presentation/hooks/usePartnerProfile.ts +0 -43
  161. package/src/features/love-message/presentation/navigation/LoveMessageStack.tsx +0 -39
  162. package/src/features/love-message/presentation/screens/LoveMessageExploreScreen.tsx +0 -53
  163. package/src/features/love-message/presentation/screens/LoveMessageGeneratorScreen.tsx +0 -169
  164. package/src/features/love-message/presentation/screens/MessageListScreen.tsx +0 -127
  165. package/src/features/love-message/presentation/screens/PartnerProfileScreen.tsx +0 -119
  166. package/src/features/meme-generator/README.md +0 -408
  167. package/src/features/meme-generator/index.ts +0 -3
  168. package/src/features/meme-generator/infrastructure/services/MemeGenerationService.ts +0 -87
  169. package/src/features/meme-generator/presentation/components/MemeGeneratorFeature.tsx +0 -180
  170. package/src/features/meme-generator/presentation/components/index.ts +0 -2
  171. package/src/features/meme-generator/presentation/screens/MemeGeneratorScreen.tsx +0 -168
  172. package/src/features/meme-generator/presentation/screens/index.ts +0 -1
  173. package/src/features/partner-upload/domain/types.ts +0 -59
  174. package/src/features/partner-upload/index.ts +0 -30
  175. package/src/features/partner-upload/presentation/components/PartnerInfoInput.tsx +0 -112
  176. package/src/features/partner-upload/presentation/components/PhotoTips.tsx +0 -53
  177. package/src/features/partner-upload/presentation/components/index.ts +0 -4
  178. package/src/features/partner-upload/presentation/hooks/index.ts +0 -7
  179. package/src/features/partner-upload/presentation/hooks/usePartnerStep.ts +0 -130
  180. package/src/features/partner-upload/presentation/screens/PartnerStepScreen.tsx +0 -231
  181. package/src/features/partner-upload/presentation/screens/index.ts +0 -6
  182. package/src/features/photo-restoration/README.md +0 -399
  183. package/src/features/photo-restoration/domain/index.ts +0 -1
  184. package/src/features/photo-restoration/domain/types/index.ts +0 -9
  185. package/src/features/photo-restoration/domain/types/photo-restore.types.ts +0 -64
  186. package/src/features/photo-restoration/index.ts +0 -22
  187. package/src/features/photo-restoration/presentation/components/PhotoRestoreFeature.tsx +0 -88
  188. package/src/features/photo-restoration/presentation/components/PhotoRestoreResultView.tsx +0 -86
  189. package/src/features/photo-restoration/presentation/components/index.ts +0 -4
  190. package/src/features/photo-restoration/presentation/hooks/index.ts +0 -1
  191. package/src/features/photo-restoration/presentation/hooks/usePhotoRestoreFeature.ts +0 -23
  192. package/src/features/photo-restoration/presentation/index.ts +0 -2
  193. package/src/features/remove-background/README.md +0 -393
  194. package/src/features/remove-background/domain/index.ts +0 -5
  195. package/src/features/remove-background/domain/types/index.ts +0 -7
  196. package/src/features/remove-background/domain/types/remove-background.types.ts +0 -28
  197. package/src/features/remove-background/index.ts +0 -19
  198. package/src/features/remove-background/presentation/components/RemoveBackgroundFeature.tsx +0 -86
  199. package/src/features/remove-background/presentation/components/index.ts +0 -2
  200. package/src/features/remove-background/presentation/hooks/index.ts +0 -1
  201. package/src/features/remove-background/presentation/hooks/useRemoveBackgroundFeature.ts +0 -28
  202. package/src/features/remove-background/presentation/index.ts +0 -6
  203. package/src/features/remove-object/README.md +0 -405
  204. package/src/features/remove-object/domain/index.ts +0 -5
  205. package/src/features/remove-object/domain/types/index.ts +0 -7
  206. package/src/features/remove-object/domain/types/remove-object.types.ts +0 -54
  207. package/src/features/remove-object/index.ts +0 -23
  208. package/src/features/remove-object/presentation/components/RemoveObjectFeature.tsx +0 -136
  209. package/src/features/remove-object/presentation/components/index.ts +0 -2
  210. package/src/features/remove-object/presentation/hooks/index.ts +0 -9
  211. package/src/features/remove-object/presentation/hooks/useRemoveObjectFeature.ts +0 -221
  212. package/src/features/remove-object/presentation/index.ts +0 -6
  213. package/src/features/replace-background/README.md +0 -405
  214. package/src/features/replace-background/domain/types/index.ts +0 -7
  215. package/src/features/replace-background/domain/types/replace-background.types.ts +0 -33
  216. package/src/features/replace-background/index.ts +0 -23
  217. package/src/features/replace-background/presentation/components/ReplaceBackgroundFeature.tsx +0 -105
  218. package/src/features/replace-background/presentation/components/index.ts +0 -6
  219. package/src/features/replace-background/presentation/hooks/index.ts +0 -9
  220. package/src/features/replace-background/presentation/hooks/useReplaceBackgroundFeature.ts +0 -55
  221. package/src/features/scenarios/domain/types.ts +0 -147
  222. package/src/features/scenarios/index.ts +0 -64
  223. package/src/features/scenarios/presentation/components/InspirationChips.tsx +0 -82
  224. package/src/features/scenarios/presentation/components/MagicPromptHeadline.tsx +0 -79
  225. package/src/features/scenarios/presentation/components/ScenarioGrid.tsx +0 -224
  226. package/src/features/scenarios/presentation/components/ScenarioHeader.tsx +0 -55
  227. package/src/features/scenarios/presentation/components/StyleSelector.tsx +0 -119
  228. package/src/features/scenarios/presentation/components/index.ts +0 -18
  229. package/src/features/scenarios/presentation/containers/CategoryNavigationContainer.tsx +0 -178
  230. package/src/features/scenarios/presentation/screens/HierarchicalScenarioListScreen.tsx +0 -266
  231. package/src/features/scenarios/presentation/screens/MagicPromptScreen.tsx +0 -242
  232. package/src/features/scenarios/presentation/screens/MainCategoryScreen.tsx +0 -198
  233. package/src/features/scenarios/presentation/screens/ScenarioPreviewScreen.tsx +0 -164
  234. package/src/features/scenarios/presentation/screens/ScenarioSelectorScreen.tsx +0 -66
  235. package/src/features/scenarios/presentation/screens/SubCategoryScreen.tsx +0 -216
  236. package/src/features/script-generator/README.md +0 -433
  237. package/src/features/script-generator/domain/constants/index.ts +0 -10
  238. package/src/features/script-generator/domain/types/script.types.ts +0 -30
  239. package/src/features/script-generator/index.ts +0 -5
  240. package/src/features/script-generator/infrastructure/services/ScriptGenerationService.ts +0 -62
  241. package/src/features/script-generator/presentation/components/ScriptDisplay.tsx +0 -158
  242. package/src/features/script-generator/presentation/components/VideoTypeSelector.tsx +0 -102
  243. package/src/features/script-generator/presentation/components/index.ts +0 -2
  244. package/src/features/script-generator/presentation/hooks/index.ts +0 -1
  245. package/src/features/script-generator/presentation/hooks/useScriptGenerator.ts +0 -77
  246. package/src/features/shared/README.md +0 -311
  247. package/src/features/shared/dual-image-video/domain/types/dual-image-video.types.ts +0 -88
  248. package/src/features/shared/dual-image-video/domain/types/index.ts +0 -14
  249. package/src/features/shared/dual-image-video/index.ts +0 -17
  250. package/src/features/shared/dual-image-video/presentation/hooks/index.ts +0 -5
  251. package/src/features/shared/dual-image-video/presentation/hooks/useDualImageVideoFeature.ts +0 -185
  252. package/src/features/shared/index.ts +0 -6
  253. package/src/features/text-to-image/README.md +0 -394
  254. package/src/features/text-to-image/domain/constants/index.ts +0 -8
  255. package/src/features/text-to-image/domain/constants/options.constants.ts +0 -39
  256. package/src/features/text-to-image/domain/constants/styles.constants.ts +0 -34
  257. package/src/features/text-to-image/domain/index.ts +0 -7
  258. package/src/features/text-to-image/domain/types/config.types.ts +0 -75
  259. package/src/features/text-to-image/domain/types/form.types.ts +0 -58
  260. package/src/features/text-to-image/domain/types/index.ts +0 -38
  261. package/src/features/text-to-image/domain/types/text-to-image.types.ts +0 -58
  262. package/src/features/text-to-image/index.ts +0 -116
  263. package/src/features/text-to-image/infrastructure/index.ts +0 -1
  264. package/src/features/text-to-image/infrastructure/services/index.ts +0 -5
  265. package/src/features/text-to-image/infrastructure/services/text-to-image-executor.ts +0 -147
  266. package/src/features/text-to-image/presentation/components/index.ts +0 -30
  267. package/src/features/text-to-image/presentation/hooks/index.ts +0 -30
  268. package/src/features/text-to-image/presentation/hooks/useFormState.ts +0 -103
  269. package/src/features/text-to-image/presentation/hooks/useGeneration.ts +0 -139
  270. package/src/features/text-to-image/presentation/hooks/useTextToImageFeature.ts +0 -111
  271. package/src/features/text-to-image/presentation/hooks/useTextToImageForm.ts +0 -58
  272. package/src/features/text-to-image/presentation/index.ts +0 -7
  273. package/src/features/text-to-video/README.md +0 -412
  274. package/src/features/text-to-video/domain/index.ts +0 -1
  275. package/src/features/text-to-video/domain/types/callback.types.ts +0 -69
  276. package/src/features/text-to-video/domain/types/component.types.ts +0 -106
  277. package/src/features/text-to-video/domain/types/config.types.ts +0 -61
  278. package/src/features/text-to-video/domain/types/index.ts +0 -56
  279. package/src/features/text-to-video/domain/types/request.types.ts +0 -36
  280. package/src/features/text-to-video/domain/types/state.types.ts +0 -53
  281. package/src/features/text-to-video/index.ts +0 -68
  282. package/src/features/text-to-video/infrastructure/index.ts +0 -1
  283. package/src/features/text-to-video/infrastructure/services/index.ts +0 -5
  284. package/src/features/text-to-video/infrastructure/services/text-to-video-executor.ts +0 -141
  285. package/src/features/text-to-video/presentation/components/FrameSelector.tsx +0 -153
  286. package/src/features/text-to-video/presentation/components/GenerationTabs.tsx +0 -73
  287. package/src/features/text-to-video/presentation/components/HeroSection.tsx +0 -61
  288. package/src/features/text-to-video/presentation/components/HintCarousel.tsx +0 -96
  289. package/src/features/text-to-video/presentation/components/OptionsPanel.tsx +0 -121
  290. package/src/features/text-to-video/presentation/components/index.ts +0 -10
  291. package/src/features/text-to-video/presentation/hooks/index.ts +0 -17
  292. package/src/features/text-to-video/presentation/hooks/useTextToVideoFeature.ts +0 -225
  293. package/src/features/text-to-video/presentation/hooks/useTextToVideoForm.ts +0 -134
  294. package/src/features/text-to-video/presentation/index.ts +0 -7
  295. package/src/features/text-to-voice/README.md +0 -445
  296. package/src/features/text-to-voice/domain/index.ts +0 -1
  297. package/src/features/text-to-voice/domain/types/component.types.ts +0 -91
  298. package/src/features/text-to-voice/domain/types/config.types.ts +0 -34
  299. package/src/features/text-to-voice/domain/types/form.types.ts +0 -39
  300. package/src/features/text-to-voice/domain/types/generation.types.ts +0 -43
  301. package/src/features/text-to-voice/domain/types/index.ts +0 -38
  302. package/src/features/text-to-voice/index.ts +0 -53
  303. package/src/features/text-to-voice/infrastructure/index.ts +0 -1
  304. package/src/features/text-to-voice/infrastructure/services/index.ts +0 -4
  305. package/src/features/text-to-voice/infrastructure/services/text-to-voice-executor.ts +0 -103
  306. package/src/features/text-to-voice/presentation/components/TextToVoiceAudioPlayer.tsx +0 -81
  307. package/src/features/text-to-voice/presentation/components/index.ts +0 -7
  308. package/src/features/text-to-voice/presentation/hooks/index.ts +0 -6
  309. package/src/features/text-to-voice/presentation/hooks/useTextToVoiceForm.ts +0 -91
  310. package/src/features/text-to-voice/presentation/hooks/useTextToVoiceGeneration.ts +0 -116
  311. package/src/features/text-to-voice/presentation/index.ts +0 -2
  312. package/src/features/upscaling/README.md +0 -396
  313. package/src/features/upscaling/domain/index.ts +0 -1
  314. package/src/features/upscaling/domain/types/index.ts +0 -1
  315. package/src/features/upscaling/domain/types/upscale.types.ts +0 -23
  316. package/src/features/upscaling/index.ts +0 -20
  317. package/src/features/upscaling/presentation/components/ComparisonSlider.tsx +0 -200
  318. package/src/features/upscaling/presentation/components/UpscaleFeature.tsx +0 -89
  319. package/src/features/upscaling/presentation/components/UpscaleResultView.tsx +0 -98
  320. package/src/features/upscaling/presentation/components/index.ts +0 -6
  321. package/src/features/upscaling/presentation/hooks/index.ts +0 -1
  322. package/src/features/upscaling/presentation/hooks/useUpscaleFeature.ts +0 -28
  323. package/src/features/upscaling/presentation/index.ts +0 -2
  324. package/src/features/wizard/domain/types.ts +0 -154
  325. package/src/features/wizard/index.ts +0 -43
  326. package/src/features/wizard/presentation/components/AIFeatureWizard.tsx +0 -231
  327. package/src/features/wizard/presentation/components/AIGenerationWizard.tsx +0 -132
  328. package/src/features/wizard/presentation/hooks/useWizard.ts +0 -120
  329. package/src/features/wizard/presentation/store/useWizardStore.ts +0 -82
  330. package/src/presentation/components/flows/AIGenerateWizardFlow.tsx +0 -231
  331. package/src/presentation/components/flows/AIGenerateWizardFlow.types.ts +0 -66
  332. package/src/presentation/components/flows/useAIGenerateWizardFlow.ts +0 -130
  333. package/src/presentation/hooks/useAIGenerateWizard.ts +0 -164
@@ -1,445 +0,0 @@
1
- # Text to Voice Feature
2
-
3
- Convert text to natural-sounding speech using AI.
4
-
5
- ## 📍 Import Path
6
-
7
- ```typescript
8
- import { useTextToVoiceFeature } from '@umituz/react-native-ai-generation-content';
9
- ```
10
-
11
- **Location**: `src/features/text-to-voice/`
12
-
13
- ## 🎯 Feature Purpose
14
-
15
- Convert written text into lifelike speech using AI-powered text-to-speech technology. Support for multiple voices, languages, adjustable speed and pitch, with natural intonation and expression for audiobooks, accessibility, voice assistants, and more.
16
-
17
- ---
18
-
19
- ## 📋 Usage Strategy
20
-
21
- ### When to Use This Feature
22
-
23
- ✅ **Use Cases:**
24
- - Creating audiobooks and narration
25
- - Building voice assistants
26
- - Accessibility features for visually impaired
27
- - Voiceovers for videos and presentations
28
- - Podcast and content creation
29
-
30
- ❌ **When NOT to Use:**
31
- - Generating audio from descriptions (use Audio Generation)
32
- - Real-time translation (use translation services)
33
- - Voice cloning or impersonation
34
- - Music generation
35
-
36
- ### Implementation Strategy
37
-
38
- 1. **Enter text** to convert to speech
39
- 2. **Select voice** from available options
40
- 3. **Adjust settings** (speed, pitch)
41
- 4. **Generate speech** with progress tracking
42
- 5. **Preview audio** with playback controls
43
- 6. **Save or share** final audio file
44
-
45
- ---
46
-
47
- ## ⚠️ Critical Rules (MUST FOLLOW)
48
-
49
- ### 1. Input Requirements
50
- - **MUST** provide text to convert
51
- - **MUST** select valid voice
52
- - **MUST** keep text under character limits (5000 chars recommended)
53
- - **MUST NOT** use copyrighted material without permission
54
- - **MUST NOT** generate offensive or harmful content
55
-
56
- ### 2. Configuration
57
- - **MUST** provide valid `userId` for tracking
58
- - **MUST** specify voice selection
59
- - **MUST** implement `onError` callback
60
- - **MUST** implement audio playback controls
61
- - **MUST** handle file saving locally
62
-
63
- ### 3. State Management
64
- - **MUST** check `isReady` before enabling generate button
65
- - **MUST** validate text and voice before generation
66
- - **MUST** handle `isProcessing` state to prevent duplicate requests
67
- - **MUST** display `error` state with clear messages
68
- - **MUST** implement proper cleanup on unmount (dispose audio)
69
-
70
- ### 4. Performance
71
- - **MUST** implement progress indicators during generation
72
- - **MUST** cache generated audio locally
73
- - **MUST** allow users to cancel long generations
74
- - **MUST** implement proper audio file disposal
75
- - **MUST NOT** generate multiple audio files simultaneously
76
-
77
- ### 5. Audio Quality
78
- - **MUST** provide audio preview with playback controls
79
- - **MUST** support common audio formats (MP3, WAV)
80
- - **MUST** handle large audio file sizes
81
- - **MUST** implement play/pause/stop controls
82
- - **MUST** offer regeneration with different settings
83
-
84
- ---
85
-
86
- ## 🚫 Prohibitions (MUST AVOID)
87
-
88
- ### Strictly Forbidden
89
-
90
- ❌ **NEVER** do the following:
91
-
92
- 1. **No Empty Text**
93
- - Always validate text is provided
94
- - Never call generate() without text
95
- - Guide users with example texts
96
-
97
- 2. **No Auto-Generation**
98
- - Never start generation without user action
99
- - Always require explicit "Generate" button press
100
- - Show preview before processing
101
-
102
- 3. **No Hardcoded Credentials**
103
- - Never store API keys in component files
104
- - Use environment variables or secure storage
105
-
106
- 4. **No Unhandled Errors**
107
- - Never ignore generation failures
108
- - Always explain what went wrong
109
- - Provide retry or alternative options
110
-
111
- 5. **No Memory Leaks**
112
- - Never store multiple audio files in memory
113
- - Always cleanup audio references on unmount
114
- - Implement proper audio disposal (unloadAsync)
115
-
116
- 6. **No Blocked UI**
117
- - Never block main thread with audio processing
118
- - Always show progress indicator
119
- - Allow cancellation
120
-
121
- 7. **No Copyright Infringement**
122
- - Never generate copyrighted content without permission
123
- - Never use for voice cloning or impersonation
124
- - Implement content moderation
125
-
126
- ---
127
-
128
- ## 🤖 AI Agent Directions
129
-
130
- ### For AI Code Generation Tools
131
-
132
- When using this feature with AI code generation tools, follow these guidelines:
133
-
134
- #### Prompt Template for AI Agents
135
-
136
- ```
137
- You are implementing a text to voice feature using @umituz/react-native-ai-generation-content.
138
-
139
- REQUIREMENTS:
140
- 1. Import from: @umituz/react-native-ai-generation-content
141
- 2. Use the useTextToVoiceFeature hook
142
- 3. Select voice from available options
143
- 4. Implement text input for speech content
144
- 5. Adjust settings (speed, pitch)
145
- 6. Validate text and voice before generation
146
- 7. Implement audio playback for preview
147
- 8. Handle long processing times with progress
148
- 9. Implement proper error handling
149
- 10. Implement cleanup on unmount (CRITICAL: dispose audio)
150
-
151
- CRITICAL RULES:
152
- - MUST validate text and voice before calling generate()
153
- - MUST implement audio playback controls (play, pause, stop)
154
- - MUST handle voice selection
155
- - MUST handle speed and pitch adjustments
156
- - MUST implement debouncing (300ms)
157
- - MUST allow regeneration with different settings
158
- - MUST properly dispose audio on unmount (useEffect cleanup)
159
-
160
- CONFIGURATION:
161
- - Provide valid userId (string)
162
- - Set voice: string (voice ID)
163
- - Set speed?: number (speech rate 0.25 - 4.0, default: 1.0)
164
- - Set pitch?: number (pitch adjustment -20.0 - 20.0, default: 0)
165
- - Set language?: string (language code, default: 'en-US')
166
- - Implement onSaveAudio callback
167
- - Configure callbacks: onTextChange, onProcessingStart, onProcessingComplete, onError
168
-
169
- VOICE OPTIONS:
170
- - English: Multiple male/female voices (US, UK, etc.)
171
- - Multi-language: Spanish, French, German, Italian, Japanese, Korean, Chinese
172
- - Default voice: Set in config
173
-
174
- SETTINGS:
175
- - speed: Speech rate (0.25 - 4.0, default: 1.0)
176
- - pitch: Pitch adjustment (-20.0 - 20.0, default: 0)
177
- - language: Language code (e.g., 'en-US', 'es-ES')
178
-
179
- AUDIO CONTROLS:
180
- - Play: Start audio playback
181
- - Pause: Pause current playback
182
- - Stop: Stop and reset playback
183
- - Unload: Dispose audio resource (CRITICAL for cleanup)
184
-
185
- STRICTLY FORBIDDEN:
186
- - No empty text validation
187
- - No auto-generation without user action
188
- - No hardcoded API keys
189
- - No unhandled errors
190
- - No memory leaks (especially audio)
191
- - No blocking UI
192
- - No copyright infringement
193
-
194
- CLEANUP CHECKLIST:
195
- - [ ] Audio unloaded on unmount
196
- - [ ] Sound reference nullified
197
- - [ ] Event listeners removed
198
- - [ ] No memory leaks
199
-
200
- QUALITY CHECKLIST:
201
- - [ ] Text input for speech content
202
- - [ ] Voice selector added
203
- - [ ] Speed control implemented
204
- - [ ] Pitch control implemented
205
- - [ ] Validation before generate()
206
- - [ ] Audio playback controls (play, pause, stop)
207
- - [ ] Progress indicator during processing
208
- - [ ] Error display with retry option
209
- - [ ] Save/share functionality
210
- - [ ] Regeneration with different settings
211
- - [ ] Proper cleanup on unmount
212
- ```
213
-
214
- #### AI Implementation Checklist
215
-
216
- Use this checklist when generating code:
217
-
218
- - [ ] Feature imported from correct path
219
- - [ ] Text input for speech content implemented
220
- - [ ] Voice selector added
221
- - [ ] Speed control implemented
222
- - [ ] Pitch control implemented
223
- - [ ] Validation before generate()
224
- - [ ] Audio playback controls (play, pause, stop)
225
- - [ ] Progress indicator during processing
226
- - [ ] Error display with user-friendly message
227
- - [ ] Save/share buttons
228
- - [ ] Regeneration option
229
- - [ ] **CRITICAL**: Audio cleanup on unmount
230
- - [ ] **CRITICAL**: Sound reference disposal
231
- - [ ] **CRITICAL**: Event listener cleanup
232
-
233
- ---
234
-
235
- ## 🛠️ Configuration Strategy
236
-
237
- ### Essential Configuration
238
-
239
- ```typescript
240
- // Required fields
241
- {
242
- userId: string
243
- voice: string
244
- text: string
245
- }
246
-
247
- // Optional callbacks
248
- {
249
- speed?: number // 0.25 - 4.0, default: 1.0
250
- pitch?: number // -20.0 - 20.0, default: 0
251
- language?: string // e.g., 'en-US', 'es-ES'
252
- onTextChange?: (text: string) => void
253
- onProcessingStart?: () => void
254
- onProcessingComplete?: (result) => void
255
- onError?: (error: string) => void
256
- }
257
- ```
258
-
259
- ### Recommended Settings
260
-
261
- 1. **Voices**
262
- - English: Multiple options (male/female, US/UK)
263
- - Multi-language: Support for major languages
264
- - Default: Set in configuration
265
-
266
- 2. **Speed Settings**
267
- - 0.25 - 0.75: Slow (audiobooks, learning)
268
- - 0.8 - 1.2: Normal (most use cases)
269
- - 1.3 - 2.0: Fast (quick consumption)
270
- - 2.1 - 4.0: Very fast (skimming)
271
-
272
- 3. **Pitch Settings**
273
- - -20 to -5: Lower pitch
274
- - -5 to 5: Normal range (default: 0)
275
- - 5 to 20: Higher pitch
276
-
277
- 4. **Text Length**
278
- - Recommended: Under 5000 characters
279
- - Long texts: Consider chunking
280
- - Short texts: Better for performance
281
-
282
- ---
283
-
284
- ## 📊 State Management
285
-
286
- ### Feature States
287
-
288
- **isReady**: boolean
289
- - Text provided and voice selected
290
- - Check before enabling generate button
291
-
292
- **isProcessing**: boolean
293
- - Speech generation in progress
294
- - Show loading/progress indicator
295
- - Disable generate button
296
-
297
- **progress**: number (0-100)
298
- - Generation progress percentage
299
- - Update progress bar
300
-
301
- **error**: string | null
302
- - Error message if generation failed
303
- - Display to user with clear message
304
-
305
- **result**: {
306
- audioUrl: string
307
- voice?: string
308
- text?: string
309
- speed?: number
310
- pitch?: number
311
- language?: string
312
- metadata?: any
313
- }
314
-
315
- ---
316
-
317
- ## 🎨 Best Practices
318
-
319
- ### Text Preparation
320
-
321
- 1. **Text Length**
322
- - Keep under 5000 characters for best results
323
- - Consider chunking for long texts
324
- - Test with shorter texts first
325
-
326
- 2. **Punctuation**
327
- - Use proper punctuation for natural pauses
328
- - Include commas, periods, question marks
329
- - Use punctuation to control pacing
330
-
331
- 3. **Formatting**
332
- - Clear, readable text
333
- - Remove unnecessary whitespace
334
- - Use abbreviations consistently
335
-
336
- ### Voice Selection
337
-
338
- 1. **Match Content Type**
339
- - Audiobooks: Clear, pleasant voice
340
- - Presentations: Professional voice
341
- - Entertainment: Dynamic voice
342
- - Accessibility: Clear, neutral voice
343
-
344
- 2. **Language Matching**
345
- - Match voice to text language
346
- - Consider accent preferences
347
- - Test different voices
348
-
349
- ### Settings Optimization
350
-
351
- 1. **Speed**
352
- - 0.8-1.2: Most natural speech
353
- - Adjust based on content type
354
- - Test with playback before saving
355
-
356
- 2. **Pitch**
357
- - Keep near 0 for natural sound
358
- - Small adjustments (-5 to +5)
359
- - Avoid extreme values
360
-
361
- ---
362
-
363
- ## 🐛 Common Pitfalls
364
-
365
- ### Audio Playback Issues
366
-
367
- ❌ **Problem**: Audio won't play
368
- ✅ **Solution**: Check audio URL, format compatibility
369
-
370
- ### Memory Leaks
371
-
372
- ❌ **Problem**: App crashes after multiple generations
373
- ✅ **Solution**: Implement proper audio cleanup in useEffect
374
-
375
- ### Quality Issues
376
-
377
- ❌ **Problem**: Speech sounds unnatural
378
- ✅ **Solution**: Adjust speed and pitch, try different voice
379
-
380
- ### Long Text Issues
381
-
382
- ❌ **Problem**: Generation fails for long texts
383
- ✅ **Solution**: Chunk text into smaller segments
384
-
385
- ### Cleanup Issues
386
-
387
- ❌ **Problem**: Audio continues playing after unmount
388
- ✅ **Solution**: Implement proper cleanup with unloadAsync
389
-
390
- ---
391
-
392
- ## 📦 Related Components
393
-
394
- Use these components from the library:
395
-
396
- - **TextInput**: For speech content
397
- - **VoiceSelector**: Choose voice
398
- - **SpeedControl**: Adjust speech rate
399
- - **PitchControl**: Adjust pitch
400
- - **AudioPlayer**: Play generated audio
401
- - **ProgressBar**: Progress display
402
-
403
- Located at: `src/presentation/components/`
404
-
405
- ---
406
-
407
- ## 🔄 Migration Strategy
408
-
409
- If migrating from previous implementation:
410
-
411
- 1. **Update imports** to new path
412
- 2. **Add voice selector**
413
- 3. **Implement speed/pitch controls**
414
- 4. **Add audio playback controls**
415
- 5. **Update state handling** for new structure
416
- 6. **Implement proper audio cleanup** (CRITICAL)
417
- 7. **Test all voices**
418
-
419
- ---
420
-
421
- ## 📚 Additional Resources
422
-
423
- - Main documentation: `/docs/`
424
- - API reference: `/docs/api/`
425
- - Examples: `/docs/examples/basic/text-to-voice/`
426
- - Architecture: `/ARCHITECTURE.md`
427
-
428
- ---
429
-
430
- **Last Updated**: 2025-01-08
431
- **Version**: 2.0.0 (Strategy-based Documentation)
432
-
433
- ---
434
-
435
- ## 📝 Changelog
436
-
437
- ### v2.0.0 - 2025-01-08
438
- - **BREAKING**: Documentation format changed to strategy-based
439
- - Removed extensive code examples
440
- - Added rules, prohibitions, and AI agent directions
441
- - Focus on best practices and implementation guidance
442
- - Added critical audio cleanup guidance
443
-
444
- ### v1.0.0 - Initial Release
445
- - Initial feature documentation
@@ -1 +0,0 @@
1
- export * from "./types";
@@ -1,91 +0,0 @@
1
- /**
2
- * Text-to-Voice Component Types
3
- * Props types for UI components
4
- */
5
-
6
- import type { ReactNode } from "react";
7
- import type { StyleProp, ViewStyle } from "react-native";
8
-
9
- export interface TextToVoiceTextInputProps {
10
- value: string;
11
- onChangeText: (text: string) => void;
12
- maxLength?: number;
13
- labelKey: string;
14
- placeholderKey: string;
15
- characterCountKey: string;
16
- style?: StyleProp<ViewStyle>;
17
- }
18
-
19
- export interface TextToVoiceOptionalInputProps {
20
- title: string;
21
- value: string;
22
- onChangeText: (text: string) => void;
23
- placeholder: string;
24
- hint: string;
25
- style?: StyleProp<ViewStyle>;
26
- }
27
-
28
- export interface TextToVoiceExamplePromptsProps {
29
- prompts: string[];
30
- onSelectPrompt: (prompt: string) => void;
31
- labelKey: string;
32
- style?: StyleProp<ViewStyle>;
33
- }
34
-
35
- export interface TextToVoiceGenerateButtonProps {
36
- isGenerating: boolean;
37
- progress: number;
38
- disabled: boolean;
39
- onPress: () => void;
40
- buttonTextKey: string;
41
- generatingTextKey: string;
42
- style?: StyleProp<ViewStyle>;
43
- }
44
-
45
- export interface TextToVoiceAudioPlayerProps {
46
- audioUrl: string;
47
- onPlay: () => void;
48
- successTextKey: string;
49
- playButtonTextKey: string;
50
- style?: StyleProp<ViewStyle>;
51
- }
52
-
53
- export interface TextToVoiceErrorMessageProps {
54
- message: string;
55
- style?: StyleProp<ViewStyle>;
56
- }
57
-
58
- export interface TextToVoiceHeaderProps {
59
- titleKey: string;
60
- descriptionKey: string;
61
- iconName: string;
62
- navigationType?: "back" | "close";
63
- headerContent?: ReactNode;
64
- style?: StyleProp<ViewStyle>;
65
- }
66
-
67
- export interface TextToVoiceScreenConfig {
68
- maxTextLength: number;
69
- creditCost: number;
70
- defaultModel?: string;
71
- defaultVoice?: string;
72
- defaultSpeed?: number;
73
- defaultStability?: number;
74
- defaultSimilarityBoost?: number;
75
- }
76
-
77
- export interface TextToVoiceTranslationKeys {
78
- title: string;
79
- description: string;
80
- textInputLabel: string;
81
- textInputPlaceholder: string;
82
- characterCount: string;
83
- voiceLabel: string;
84
- voicePlaceholder: string;
85
- voiceHint: string;
86
- examplesLabel: string;
87
- generateButton: string;
88
- generatingText: string;
89
- successText: string;
90
- playButton: string;
91
- }
@@ -1,34 +0,0 @@
1
- /**
2
- * Text-to-Voice Config Types
3
- * Feature configuration types
4
- */
5
-
6
- import type { TextToVoiceOptions, TextToVoiceResult } from "./generation.types";
7
-
8
- export type TextToVoiceInputBuilder = (
9
- text: string,
10
- options?: TextToVoiceOptions,
11
- ) => Record<string, unknown>;
12
-
13
- export type TextToVoiceResultExtractor = (
14
- result: unknown,
15
- ) => { audioUrl?: string; duration?: number } | undefined;
16
-
17
- export interface TextToVoiceFeatureConfig {
18
- providerId?: string;
19
- creditCost?: number;
20
- model: string;
21
- buildInput: TextToVoiceInputBuilder;
22
- extractResult?: TextToVoiceResultExtractor;
23
- onTextChange?: (text: string) => void;
24
- onProcessingStart?: () => void;
25
- onProcessingComplete?: (result: TextToVoiceResult) => void;
26
- onError?: (error: string) => void;
27
- }
28
-
29
- export interface TextToVoiceExecuteOptions {
30
- model: string;
31
- buildInput: TextToVoiceInputBuilder;
32
- extractResult?: TextToVoiceResultExtractor;
33
- onProgress?: (progress: number) => void;
34
- }
@@ -1,39 +0,0 @@
1
- /**
2
- * Text-to-Voice Form Types
3
- * Form state and setter types
4
- */
5
-
6
- import type { TextToVoiceRequest } from "./generation.types";
7
-
8
- export interface TextToVoiceFormState {
9
- text: string;
10
- model: string;
11
- voice: string;
12
- speed: number;
13
- stability: number;
14
- similarityBoost: number;
15
- }
16
-
17
- export interface TextToVoiceFormSetters {
18
- setText: (text: string) => void;
19
- setModel: (model: string) => void;
20
- setVoice: (voice: string) => void;
21
- setSpeed: (speed: number) => void;
22
- setStability: (stability: number) => void;
23
- setSimilarityBoost: (similarityBoost: number) => void;
24
- }
25
-
26
- export interface TextToVoiceFormReturn extends TextToVoiceFormSetters {
27
- formState: TextToVoiceFormState;
28
- buildRequest: () => TextToVoiceRequest;
29
- resetForm: () => void;
30
- }
31
-
32
- export interface TextToVoiceFormConfig {
33
- initialText?: string;
34
- initialModel?: string;
35
- initialVoice?: string;
36
- initialSpeed?: number;
37
- initialStability?: number;
38
- initialSimilarityBoost?: number;
39
- }
@@ -1,43 +0,0 @@
1
- /**
2
- * Text-to-Voice Generation Types
3
- * Request, result, and state types for voice generation
4
- */
5
-
6
- export interface TextToVoiceOptions {
7
- voice?: string;
8
- speed?: number;
9
- pitch?: number;
10
- stability?: number;
11
- similarityBoost?: number;
12
- }
13
-
14
- export interface TextToVoiceRequest {
15
- text: string;
16
- userId: string;
17
- model?: string;
18
- options?: TextToVoiceOptions;
19
- }
20
-
21
- export interface TextToVoiceResult {
22
- success: boolean;
23
- audioUrl?: string;
24
- error?: string;
25
- requestId?: string;
26
- duration?: number;
27
- }
28
-
29
- export interface TextToVoiceGenerationState {
30
- isGenerating: boolean;
31
- progress: number;
32
- audioUrl: string | null;
33
- error: string | null;
34
- requestId: string | null;
35
- }
36
-
37
- export interface VoiceGeneration {
38
- id: string;
39
- text: string;
40
- audioUrl: string;
41
- provider: string;
42
- createdAt: string;
43
- }
@@ -1,38 +0,0 @@
1
- /**
2
- * Text-to-Voice Domain Types
3
- * Barrel export for all types
4
- */
5
-
6
- export type {
7
- TextToVoiceOptions,
8
- TextToVoiceRequest,
9
- TextToVoiceResult,
10
- TextToVoiceGenerationState,
11
- VoiceGeneration,
12
- } from "./generation.types";
13
-
14
- export type {
15
- TextToVoiceFormState,
16
- TextToVoiceFormSetters,
17
- TextToVoiceFormReturn,
18
- TextToVoiceFormConfig,
19
- } from "./form.types";
20
-
21
- export type {
22
- TextToVoiceTextInputProps,
23
- TextToVoiceOptionalInputProps,
24
- TextToVoiceExamplePromptsProps,
25
- TextToVoiceGenerateButtonProps,
26
- TextToVoiceAudioPlayerProps,
27
- TextToVoiceErrorMessageProps,
28
- TextToVoiceHeaderProps,
29
- TextToVoiceScreenConfig,
30
- TextToVoiceTranslationKeys,
31
- } from "./component.types";
32
-
33
- export type {
34
- TextToVoiceInputBuilder,
35
- TextToVoiceResultExtractor,
36
- TextToVoiceFeatureConfig,
37
- TextToVoiceExecuteOptions,
38
- } from "./config.types";