import type { InspectOptionsStylized } from 'node:util'; import { INSPECT } from '../generated/inspect.js'; import { VideoQuality } from '../generated/structures.js'; import type { TelegramVideoQuality } from '../generated/types.js'; type InspectFn = (value: unknown, options: InspectOptionsStylized) => string; /** * a video at multiple qualities * * wraps the `VideoQuality[]` payload as a single ergonomic object exposing the largest / * smallest / minimum-width / by-codec quality. iterating yields `VideoQuality` wrappers * in payload order */ export declare class VideoQualities { raw: TelegramVideoQuality[]; private _qualities?; constructor(raw: TelegramVideoQuality[]); /** lazily-wrapped `VideoQuality` instances for every available quality */ get qualities(): VideoQuality[]; /** number of available qualities */ get length(): number; /** largest quality by file_size, falling back to width × height */ get biggest(): VideoQuality; /** smallest quality by file_size, falling back to width × height */ get smallest(): VideoQuality; /** wrap a raw `VideoQuality[]` payload in a `VideoQualities` */ static fromPayload(raw: TelegramVideoQuality[]): VideoQualities; /** smallest quality with width ≥ minWidth, falling back to `biggest` if none qualify */ byMin(minWidth: number): VideoQuality; /** quality with the given codec (e.g. 'h264', 'h265', 'av01'), or undefined */ byCodec(codec: string): VideoQuality | undefined; [Symbol.iterator](): ArrayIterator; [INSPECT](depth: number, options: InspectOptionsStylized, inspect: InspectFn): string; } export {}; //# sourceMappingURL=video-qualities.d.ts.map