import { PlexObject } from './base/plexObject.ts'; import type { ActivityData, ButlerTaskData, ServerFileData, ServerPathData, StatisticsBandwidthData, StatisticsResourcesData, SystemAccountData, SystemDeviceData } from './serverModels.types.ts'; export interface ServerWalkEntry { /** Directory path being visited. */ path: string; /** Child directories under `path`. */ paths: ServerPath[]; /** Child files under `path`. */ files: ServerFile[]; } export type ServerBrowseItem = ServerPath | ServerFile; /** * Represents a currently running activity on the Plex server. */ export declare class Activity extends PlexObject { static TAG: string; uuid: string; type: string; cancellable: boolean; userID: number; title: string; subtitle: string; progress: number; /** Cancel the activity. */ cancel(): Promise; protected _loadData(data: ActivityData): void; } /** * Represents a scheduled butler (maintenance) task on the Plex server. */ export declare class ButlerTask extends PlexObject { static TAG: string; name: string; title?: string; description?: string; enabled: boolean; interval: number; scheduleRandomized: boolean; protected _loadData(data: ButlerTaskData): void; } /** * Represents a directory returned by the Plex server file browser. */ export declare class ServerPath extends PlexObject { static TAG: string; home: boolean; network: boolean; path: string; title: string; /** Browse this directory. */ browse({ includeFiles }?: { includeFiles?: boolean; }): Promise; /** Walk this directory recursively. */ walk(): AsyncGenerator; protected _loadData(data: ServerPathData): void; } /** * Represents a file returned by the Plex server file browser. */ export declare class ServerFile extends PlexObject { static TAG: string; path: string; title: string; protected _loadData(data: ServerFileData): void; } /** * Represents a system account on the Plex server. */ export declare class SystemAccount extends PlexObject { static TAG: string; accountID: number; accountName: string; thumb: string; autoSelectAudio: boolean; defaultAudioLanguage: string; defaultSubtitleLanguage: string; subtitleMode: number; protected _loadData(data: SystemAccountData): void; } /** * Represents a system device on the Plex server. */ export declare class SystemDevice extends PlexObject { static TAG: string; deviceID: number; name: string; clientIdentifier: string; createdAt: Date; platform: string; protected _loadData(data: SystemDeviceData): void; } /** * Represents bandwidth statistics from the Plex server dashboard. */ export declare class StatisticsBandwidth extends PlexObject { static TAG: string; accountID: number; at: Date; bytes: number; deviceID: number; lan: boolean; timespan: number; protected _loadData(data: StatisticsBandwidthData): void; } /** * Represents resource usage statistics from the Plex server. */ export declare class StatisticsResources extends PlexObject { static TAG: string; at: Date; hostCpuUtilization: number; hostMemoryUtilization: number; processCpuUtilization: number; processMemoryUtilization: number; timespan: number; protected _loadData(data: StatisticsResourcesData): void; }