interface Transcription { language: string; type: string; data: Array<{ text: string; start: number; duration: number; }>; } declare class TranscriptionList { private transcriptions; constructor(transcriptions: Array); list(): Array; getManual(): Transcription | undefined; getAuto(): Transcription | undefined; get(language: string): Transcription | undefined; getMultiple(languages: Array): Array; } declare class TranscriptionDisabledError extends Error { constructor(); } declare class VideoUnavailableError extends Error { constructor(); } declare class InvalidVideoUrlError extends Error { constructor(); } declare class InvalidLanguageError extends Error { constructor(); } declare class TooManyRequestsError extends Error { constructor(); } declare class LanguageNotAvailableError extends Error { constructor(); } interface ProxyOptions { url: string; headers: {}; } declare class Core { private proxy; constructor(); protected fetchVideo(videoId: string): Promise; setProxy(options: ProxyOptions): this; protected fetchHtml(videoId: string): Promise; protected fetchMetadata(url: string): Promise; protected getVideoId(url: string): string; } declare class Transcriptor extends Core { constructor(); getTranscript(url: string, languages?: Array | string): Promise; getTranscripts(urls: Array | string, languages?: Array | string): Promise; listTranscripts(url: string): Promise; private fetchXmlTranscript; } declare const _default: Transcriptor; export { InvalidLanguageError, InvalidVideoUrlError, LanguageNotAvailableError, TooManyRequestsError, type Transcription, TranscriptionDisabledError, TranscriptionList, Transcriptor, VideoUnavailableError, _default as default };