import { videoInfo, Author, thumbnail, videoFormat } from '@distube/ytdl-core'; import * as stream from 'stream'; interface ConvertOptions { title?: string; itag?: number; url: string; directory?: string; ffmpegPath?: string; onDownloading?: (data: { percentage: number; size: number; }) => void; } interface MessageResult { message: string; error: boolean; videoInfo: videoInfo; pathfile: string; } declare function Video(options: ConvertOptions): Promise; declare function Audio(options: ConvertOptions): Promise; interface Options$1 extends Omit { } declare function createStreamAudio(options: Options$1): Promise; interface Options extends Omit { } declare function createStreamVideo(options: Options): Promise; /** * @typedef {object} thumbnail * @property {string} url * @property {number} width * @property {number} height */ /** * @typedef {object} format * @property {number} audioBitrate * @property {number} audioQuality * @property {number} approxDurationMs * @property {string} container * @property {boolean} hasAudio * @property {boolean} hasVideo * @property {number} itag * @property {string} quality * @property {string} qualityLabel */ /** * @typedef {object} videoInfo * @property {string} title * @property {string} author * @property {number} lengthSeconds * @property {number} viewCount * @property {Array} formats * @property {Array} formatsAudio * @property {Array} formatsVideo * @property {Array} thumbnails */ /** * @param {string} url * @return {Promise} * @memberof module:yt-converter */ interface Info { title: string; author: Author; lengthSeconds: string; viewCount: string; likes: number; averageRating: number; thumbnails: Array; formats: Array; formatsAudio: Array; formatsVideo: Array; } declare const getInfo: (url: any) => Promise; export { Audio, Video, createStreamAudio, createStreamVideo, getInfo };