import { Document } from "@langchain/core/documents"; import { BaseDocumentLoader } from "@langchain/core/document_loaders/base"; /** * Configuration options for the YoutubeLoader class. Includes properties * such as the videoId, language, and addVideoInfo. */ interface YoutubeConfig { videoId: string; language?: string; addVideoInfo?: boolean; } /** * A document loader for loading data from YouTube videos. It uses the * youtube-transcript and youtubei.js libraries to fetch the transcript * and video metadata. * @example * ```typescript * const loader = new YoutubeLoader( * "https: * "en", * true, * ); * const docs = await loader.load(); * ``` */ export declare class YoutubeLoader extends BaseDocumentLoader { private videoId; private language?; private addVideoInfo; constructor(config: YoutubeConfig); /** * Extracts the videoId from a YouTube video URL. * @param url The URL of the YouTube video. * @returns The videoId of the YouTube video. */ private static getVideoID; /** * Creates a new instance of the YoutubeLoader class from a YouTube video * URL. * @param url The URL of the YouTube video. * @param config Optional configuration options for the YoutubeLoader instance, excluding the videoId. * @returns A new instance of the YoutubeLoader class. */ static createFromUrl(url: string, config?: Omit): YoutubeLoader; /** * Loads the transcript and video metadata from the specified YouTube * video. It uses the youtube-transcript library to fetch the transcript * and the youtubei.js library to fetch the video metadata. * @returns An array of Documents representing the retrieved data. */ load(): Promise; } export {};