import { HTTP, HTTPOptions, OAuthProps } from "../../common"; import { Caption } from "../Caption"; import { Channel } from "../Channel"; import { LiveVideo } from "../LiveVideo"; import { MixPlaylist } from "../MixPlaylist"; import { Playlist } from "../Playlist"; import { SearchOptions, SearchResult, SearchResultItem } from "../SearchResult"; import { Video } from "../Video"; export declare type ClientOptions = HTTPOptions; /** Youtube Client */ export declare class Client { /** @hidden */ http: HTTP; /** @hidden */ options: HTTPOptions; constructor(options?: Partial); get oauth(): OAuthProps; /** * Searches for videos / playlists / channels * * @param query The search query * @param options Search options * */ search(query: string, options?: T): Promise>; /** * Search for videos / playlists / channels and returns the first result * * @return Can be {@link VideoCompact} | {@link PlaylistCompact} | {@link BaseChannel} | `undefined` */ findOne(query: string, options?: T): Promise | undefined>; /** Get playlist information and its videos by playlist id or URL */ getPlaylist(playlistId: string): Promise; /** Get video information by video id or URL */ getVideo(videoId: string): Promise; /** Get channel information by channel id+ */ getChannel(channelId: string): Promise; /** * Get video transcript / caption by video id */ getVideoTranscript(videoId: string, languageCode?: string): Promise; }