import type { HttpClient } from "./http-client.js"; import type { ProxyConfig } from "./proxies.js"; export interface TranslationLanguage { language: string; languageCode: string; } export declare class FetchedTranscriptSnippet { readonly text: string; readonly start: number; readonly duration: number; constructor(text: string, start: number, duration: number); } export declare class FetchedTranscript implements Iterable { readonly snippets: FetchedTranscriptSnippet[]; readonly videoId: string; readonly language: string; readonly languageCode: string; readonly isGenerated: boolean; constructor(snippets: FetchedTranscriptSnippet[], videoId: string, language: string, languageCode: string, isGenerated: boolean); [Symbol.iterator](): Iterator; get length(): number; at(index: number): FetchedTranscriptSnippet | undefined; toRawData(): Array<{ text: string; start: number; duration: number; }>; } export declare class Transcript { private readonly httpClient; readonly videoId: string; readonly url: string; readonly language: string; readonly languageCode: string; readonly isGenerated: boolean; translationLanguages: TranslationLanguage[]; private readonly translationLanguagesByCode; constructor(httpClient: HttpClient, videoId: string, url: string, language: string, languageCode: string, isGenerated: boolean, translationLanguages: TranslationLanguage[]); fetch(preserveFormatting?: boolean): Promise; get isTranslatable(): boolean; translate(languageCode: string): Transcript; toString(): string; } export declare class TranscriptList implements Iterable { readonly videoId: string; private readonly manuallyCreatedTranscripts; private readonly generatedTranscripts; private readonly translationLanguages; constructor(videoId: string, manuallyCreatedTranscripts: Map, generatedTranscripts: Map, translationLanguages: TranslationLanguage[]); static build(httpClient: HttpClient, videoId: string, captionsJson: Record): TranscriptList; [Symbol.iterator](): Iterator; findTranscript(languageCodes: Iterable): Transcript; findGeneratedTranscript(languageCodes: Iterable): Transcript; findManuallyCreatedTranscript(languageCodes: Iterable): Transcript; private findIn; toString(): string; } export declare class TranscriptListFetcher { private readonly httpClient; private readonly proxyConfig?; constructor(httpClient: HttpClient, proxyConfig?: ProxyConfig | undefined); fetch(videoId: string): Promise; private fetchCaptionsJson; private extractInnertubeApiKey; private extractCaptionsJson; private assertPlayability; private createConsentCookie; private fetchVideoHtml; private fetchHtml; private fetchInnertubeData; }