import { ModifyPodcastConfig } from '../stores/class/transcript/transcriptParams'; /** State of the translation */ export declare enum TranslationState { /** Translation in progress */ TRANSLATING = "TRANSLATING", /** Translation is finished */ FINISHED = "FINISHED", /** Translation has failed */ FAILED = "FAILED", /** AI limit has exceeded during translation */ AI_LIMIT_EXCEEDED = "AI_LIMIT_EXCEEDED" } /** Data for one translation */ export interface TranslationData { /** Language of translation */ language: string; /** State of the translation */ state: TranslationState; } /** Translation data for one podcast. Contains data of all generated translations. */ export interface PodcastTranslationData { /** ID of the podcast */ podcastId: number; /** Native language of the podcast */ nativeLanguage: string; /** Translation data */ translations: Array; } /** * Returns the translations defined on the podcast * @param podcastId ID of the podcast * @returns Promise containing the translation data for the podcast */ declare function getTranslations(podcastId: number): Promise; /** * Returns the translation in a given language for the podcast * @param podcastId ID of the podcast * @param language The target language * @param mayCreate *(optional)* If set to true, request creation if not available * @returns The transcription */ declare function getTranslation(podcastId: number, language: string, mayCreate?: boolean): Promise; /** * Get raw transcription for the given podcast * @param podcastId ID of the podcast * @returns The raw transcript */ declare function getRawTranscription(podcastId: number): Promise; /** * Generate the transcription on the given podcast * @param podcastId ID of the podcast on which to do the transcription * @param langauge Target language. Should be the native language of the podcast * @param params Transcription parameters */ declare function generateTranscription(podcastId: number, language: string, params: ModifyPodcastConfig): Promise; /** * Regenerate the transcription on the given podcast * Currently does the same as `generateTranscription`, but should be used when * relevant in case of future evolutions. * @param podcastId ID of the podcast on which to do the transcription * @param langauge Target language. Should be the native language of the podcast * @param params Transcription parameters */ declare function regenerateTranscription(podcastId: number, language: string, params: ModifyPodcastConfig): Promise; /** * Change the visibility of the podcast * @param podcastId ID of the podcast for which to change the visibility * @param visibility New visibility state */ declare function changeTranscriptionVisibility(podcastId: number, visibility: boolean): Promise; /** * Update the transcription of a podcast * @param podcastId ID of the podcast * @param transcript The new transcript */ declare function updateTranscription(podcastId: number, transcript: string): Promise; /** * Update the translation of a podcast * @param podcastId ID of the podcast * @param transcript The new translation */ declare function updateTranslation(podcastId: number, language: string, translation: string): Promise; export declare const transcriptionApi: { changeTranscriptionVisibility: typeof changeTranscriptionVisibility; getTranslations: typeof getTranslations; getTranslation: typeof getTranslation; getRawTranscription: typeof getRawTranscription; generateTranscription: typeof generateTranscription; regenerateTranscription: typeof regenerateTranscription; updateTranscription: typeof updateTranscription; updateTranslation: typeof updateTranslation; }; export {};