import type { Logging } from "homebridge"; /** GitHub release asset name for the standalone yt-dlp binary, per platform. */ export declare function ytDlpAssetName(platform?: NodeJS.Platform, arch?: NodeJS.Architecture): string | undefined; /** A binary older than this is considered stale and gets re-downloaded. */ export declare function isStale(mtimeMs: number, nowMs?: number): boolean; /** * Self-managed yt-dlp binary: downloaded into Homebridge's storage dir and refreshed * when older than 30 days (stale copies break against YouTube within months). * An explicit ytDlpPath override disables all self-management. */ export declare class YtDlp { private readonly log; private readonly overridePath; readonly managedPath: string; private refreshInFlight; constructor(log: Logging, storagePath: string, overridePath: string | undefined); /** Download/refresh the managed binary if missing or stale. Never rejects. */ ensureFresh(): Promise; /** * Resolve the currently-live video id for a channel live page. * Returns undefined when the channel is not live or yt-dlp is unavailable * (both logged; neither throws). */ resolveLiveVideoId(url: string, prefix: string): Promise; /** Path to a usable binary, or undefined (logged) if none exists yet. */ private binaryPath; private refresh; private download; } //# sourceMappingURL=ytdlp.d.ts.map