import type { BaseServiceParams, SubtitleFormat, TranscribeParams } from "assemblyai"; import { AssemblyAI } from "assemblyai"; import { Document } from "../Node.js"; import type { BaseReader } from "./type.js"; type AssemblyAIOptions = Partial; /** * Base class for AssemblyAI Readers. */ declare abstract class AssemblyAIReader implements BaseReader { protected client: AssemblyAI; /** * Creates a new AssemblyAI Reader. * @param assemblyAIOptions The options to configure the AssemblyAI Reader. * Configure the `assemblyAIOptions.apiKey` with your AssemblyAI API key, or configure it as the `ASSEMBLYAI_API_KEY` environment variable. */ constructor(assemblyAIOptions?: AssemblyAIOptions); abstract loadData(params: TranscribeParams | string): Promise; protected transcribeOrGetTranscript(params: TranscribeParams | string): Promise; protected getTranscriptId(params: TranscribeParams | string): Promise; } /** * Transcribe audio and read the transcript as a document using AssemblyAI. */ declare class AudioTranscriptReader extends AssemblyAIReader { /** * Transcribe audio or get a transcript and load the transcript as a document using AssemblyAI. * @param params Parameters to transcribe an audio file or get an existing transcript. * @returns A promise that resolves to a single document containing the transcript text. */ loadData(params: TranscribeParams | string): Promise; } /** * Transcribe audio and return a document for each paragraph. */ declare class AudioTranscriptParagraphsReader extends AssemblyAIReader { /** * Transcribe audio or get a transcript, and returns a document for each paragraph. * @param params The parameters to transcribe audio or get an existing transcript. * @returns A promise that resolves to an array of documents, each containing a paragraph of the transcript. */ loadData(params: TranscribeParams | string): Promise; } /** * Transcribe audio and return a document for each sentence. */ declare class AudioTranscriptSentencesReader extends AssemblyAIReader { /** * Transcribe audio or get a transcript, and returns a document for each sentence. * @param params The parameters to transcribe audio or get an existing transcript. * @returns A promise that resolves to an array of documents, each containing a sentence of the transcript. */ loadData(params: TranscribeParams | string): Promise; } /** * Transcribe audio a transcript and read subtitles for the transcript as `srt` or `vtt` format. */ declare class AudioSubtitlesReader extends AssemblyAIReader { /** * Transcribe audio or get a transcript and reads subtitles for the transcript as `srt` or `vtt` format. * @param params The parameters to transcribe audio or get an existing transcript. * @param subtitleFormat The format of the subtitles, either `srt` or `vtt`. * @returns A promise that resolves a document containing the subtitles as the page content. */ loadData(params: TranscribeParams | string, subtitleFormat?: SubtitleFormat): Promise; } export { AudioSubtitlesReader, AudioTranscriptParagraphsReader, AudioTranscriptReader, AudioTranscriptSentencesReader, }; export type { AssemblyAIOptions, SubtitleFormat, TranscribeParams };