import { PartialPlexObject } from './base/partialPlexObject.ts'; import { Playable } from './base/playable.ts'; import { PlexObject } from './base/plexObject.ts'; import { Field, Image, Tag } from './media.ts'; import type { PhotoalbumData, PhotoData, PhotoMediaData, PhotoMetadataResponse, PhotoPartData } from './photo.types.ts'; import { Clip } from './video.ts'; export declare class Photoalbum extends PartialPlexObject { static TAG: string; static TYPE: string; static readonly SEARCH_TYPE = "photoalbum"; addedAt?: Date; art?: string; composite?: string; fields: Field[]; guid?: string; images: Image[]; index?: number; lastRatedAt?: Date; librarySectionKey?: string; librarySectionTitle?: string; listType: "photo"; summary?: string; thumb?: string; titleSort?: string; updatedAt?: Date; userRating?: number; album(title: string): Promise; albums(options?: Record): Promise; photo(title: string): Promise; photos(options?: Record): Promise; clip(title: string): Promise; clips(options?: Record): Promise; getWebURL({ base }?: { base?: string; }): string; protected _loadFullData(data: PhotoMetadataResponse): void; protected _loadData(data: PhotoalbumData): void; } export declare class PhotoMedia extends PlexObject { static TAG: string; aspectRatio?: number; bitrate?: number; container?: string; duration?: number; height?: number; id?: number; optimizedForStreaming?: boolean; parts: PhotoPart[]; videoCodec?: string; videoFrameRate?: string; videoProfile?: string; width?: number; protected _loadData(data: PhotoMediaData): void; } export declare class PhotoPart extends PlexObject { static TAG: string; container?: string; duration?: number; file?: string; id?: number; size?: number; videoProfile?: string; originalUrl(): string | undefined; protected _loadData(data: PhotoPartData): void; } export declare class Photo extends Playable { static TAG: string; static TYPE: string; static readonly METADATA_TYPE = "photo"; addedAt?: Date; createdAtAccuracy?: string; createdAtTZOffset?: number; fields: Field[]; guid?: string; images: Image[]; index?: number; lastRatedAt?: Date; librarySectionKey?: string; librarySectionTitle?: string; listType: "photo"; media: PhotoMedia[]; originallyAvailableAt?: Date; parentGuid?: string; parentIndex?: number; parentKey?: string; parentRatingKey?: number; parentThumb?: string; parentTitle?: string; sourceURI?: string; summary?: string; tags: Tag[]; thumb?: string; titleSort?: string; updatedAt?: Date; userRating?: number; get locations(): string[]; /** * Returns authenticated URLs for the original photo files exposed by Plex. * This does not download files or write to disk. */ originalUrls(): string[]; /** * Returns the first authenticated original file URL, when Plex exposes one. * This does not download files or write to disk. */ originalUrl(): string | undefined; photoalbum(): Promise; getWebURL({ base }?: { base?: string; }): string; protected _loadFullData(data: PhotoMetadataResponse): void; protected _loadData(data: PhotoData): void; }