import type { InspectOptionsStylized } from 'node:util'; import { INSPECT } from '../generated/inspect.js'; import { PhotoSize } from '../generated/structures.js'; import type { TelegramPhotoSize } from '../generated/types.js'; type InspectFn = (value: unknown, options: InspectOptionsStylized) => string; /** * a photo at multiple sizes * * wraps the `PhotoSize[]` payload as a single ergonomic object exposing the largest / * smallest / minimum-width size without the `at(-1)!` dance. iterating yields * `PhotoSize` wrappers in payload order */ export declare class Photo { raw: TelegramPhotoSize[]; private _sizes?; constructor(raw: TelegramPhotoSize[]); /** lazily-wrapped `PhotoSize` instances for every available size */ get sizes(): PhotoSize[]; /** number of available sizes */ get length(): number; /** largest size by file_size, falling back to width × height */ get biggest(): PhotoSize; /** smallest size by file_size, falling back to width × height */ get smallest(): PhotoSize; /** wrap a raw `PhotoSize[]` payload in a `Photo` */ static fromPayload(raw: TelegramPhotoSize[]): Photo; /** smallest size with width ≥ minWidth, falling back to `biggest` if none qualify */ byMin(minWidth: number): PhotoSize; [Symbol.iterator](): ArrayIterator; [INSPECT](depth: number, options: InspectOptionsStylized, inspect: InspectFn): string; } export {}; //# sourceMappingURL=photo.d.ts.map