import { FormatterLoader } from "./formatters.js"; import { type ProxyConfig } from "./proxies.js"; import type { FetchedTranscript, TranscriptList } from "./transcripts.js"; type TranscriptLike = { fetch(): Promise; translate(languageCode: string): TranscriptLike; }; type TranscriptListLike = Pick; type LooseTranscriptListLike = Omit & { findGeneratedTranscript(languageCodes: Iterable): TranscriptLike; findManuallyCreatedTranscript(languageCodes: Iterable): TranscriptLike; findTranscript(languageCodes: Iterable): TranscriptLike; }; type TranscriptApiLike = { list(videoId: string): Promise; }; export interface ParsedCliArgs { excludeGenerated: boolean; excludeManuallyCreated: boolean; format: keyof typeof FormatterLoader.TYPES; help: boolean; httpProxy: string; httpsProxy: string; languages: string[]; listTranscripts: boolean; translate: string; version: boolean; videoIds: string[]; webshareProxyPassword: string | null; webshareProxyUsername: string | null; } export interface CliDependencies { apiFactory?: (proxyConfig: ProxyConfig | undefined) => TranscriptApiLike; versionResolver?: () => string; } export declare class YtCaptionKitCli { private readonly args; private readonly dependencies; constructor(args: string[], dependencies?: CliDependencies); run(): Promise; parseArgs(): ParsedCliArgs; private buildProxyConfig; private fetchTranscript; private getVersion; private readNextValue; private buildHelpText; } export declare function main(args?: string[]): Promise; export {};