import { b as ClientMethods, a as PaginationOptions, P as PaginatedResponse, B as BaseClient, C as ClientConfig } from '../client-Me0HpgXr.js'; type components = { schemas: { AddSeriesOptions: { ignoreEpisodesWithFiles?: boolean; ignoreEpisodesWithoutFiles?: boolean; monitor?: components["schemas"]["MonitorTypes"]; searchForCutoffUnmetEpisodes?: boolean; searchForMissingEpisodes?: boolean; }; AlternateTitleResource: { comment?: string | null; sceneOrigin?: string | null; /** Format: int32 */ sceneSeasonNumber?: number | null; /** Format: int32 */ seasonNumber?: number | null; title?: string | null; }; /** @enum {string} */ ApplyTags: "add" | "remove" | "replace"; /** @enum {string} */ AuthenticationRequiredType: "enabled" | "disabledForLocalAddresses"; /** @enum {string} */ AuthenticationType: "none" | "basic" | "forms" | "external"; AutoTaggingResource: { /** Format: int32 */ id?: number; name?: string | null; removeTagsAutomatically?: boolean; specifications?: components["schemas"]["AutoTaggingSpecificationSchema"][] | null; tags?: number[] | null; }; AutoTaggingSpecificationSchema: { fields?: components["schemas"]["Field"][] | null; /** Format: int32 */ id?: number; implementation?: string | null; implementationName?: string | null; name?: string | null; negate?: boolean; required?: boolean; }; BackupResource: { /** Format: int32 */ id?: number; name?: string | null; path?: string | null; /** Format: int64 */ size?: number; /** Format: date-time */ time?: string; type?: components["schemas"]["BackupType"]; }; /** @enum {string} */ BackupType: "scheduled" | "manual" | "update"; BlocklistBulkResource: { ids?: number[] | null; }; BlocklistResource: { customFormats?: components["schemas"]["CustomFormatResource"][] | null; /** Format: date-time */ date?: string; episodeIds?: number[] | null; /** Format: int32 */ id?: number; indexer?: string | null; languages?: components["schemas"]["Language"][] | null; message?: string | null; protocol?: components["schemas"]["DownloadProtocol"]; quality?: components["schemas"]["QualityModel"]; series?: components["schemas"]["SeriesResource"]; /** Format: int32 */ seriesId?: number; sourceTitle?: string | null; }; BlocklistResourcePagingResource: { /** Format: int32 */ page?: number; /** Format: int32 */ pageSize?: number; records?: components["schemas"]["BlocklistResource"][] | null; sortDirection?: components["schemas"]["SortDirection"]; sortKey?: string | null; /** Format: int32 */ totalRecords?: number; }; /** @enum {string} */ CertificateValidationType: "enabled" | "disabledForLocalAddresses" | "disabled"; Command: { clientUserAgent?: string | null; readonly completionMessage?: string | null; readonly isExclusive?: boolean; readonly isLongRunning?: boolean; /** Format: date-time */ lastExecutionTime?: string | null; /** Format: date-time */ lastStartTime?: string | null; readonly name?: string | null; readonly requiresDiskAccess?: boolean; sendUpdatesToClient?: boolean; suppressMessages?: boolean; trigger?: components["schemas"]["CommandTrigger"]; readonly updateScheduledTask?: boolean; }; /** @enum {string} */ CommandPriority: "normal" | "high" | "low"; CommandResource: { body?: components["schemas"]["Command"]; clientUserAgent?: string | null; commandName?: string | null; /** Format: date-span */ duration?: string | null; /** Format: date-time */ ended?: string | null; exception?: string | null; /** Format: int32 */ id?: number; /** Format: date-time */ lastExecutionTime?: string | null; message?: string | null; name?: string | null; priority?: components["schemas"]["CommandPriority"]; /** Format: date-time */ queued?: string; result?: components["schemas"]["CommandResult"]; sendUpdatesToClient?: boolean; /** Format: date-time */ started?: string | null; /** Format: date-time */ stateChangeTime?: string | null; status?: components["schemas"]["CommandStatus"]; trigger?: components["schemas"]["CommandTrigger"]; updateScheduledTask?: boolean; }; /** @enum {string} */ CommandResult: "unknown" | "successful" | "unsuccessful"; /** @enum {string} */ CommandStatus: "queued" | "started" | "completed" | "failed" | "aborted" | "cancelled" | "orphaned"; /** @enum {string} */ CommandTrigger: "unspecified" | "manual" | "scheduled"; CustomFilterResource: { filters?: { [key: string]: unknown; }[] | null; /** Format: int32 */ id?: number; label?: string | null; type?: string | null; }; CustomFormatBulkResource: { ids?: number[] | null; includeCustomFormatWhenRenaming?: boolean | null; }; CustomFormatResource: { /** Format: int32 */ id?: number; includeCustomFormatWhenRenaming?: boolean | null; name?: string | null; specifications?: components["schemas"]["CustomFormatSpecificationSchema"][] | null; }; CustomFormatSpecificationSchema: { fields?: components["schemas"]["Field"][] | null; /** Format: int32 */ id?: number; implementation?: string | null; implementationName?: string | null; infoLink?: string | null; name?: string | null; negate?: boolean; presets?: components["schemas"]["CustomFormatSpecificationSchema"][] | null; required?: boolean; }; /** @enum {string} */ DatabaseType: "sqLite" | "postgreSQL"; DelayProfileResource: { bypassIfAboveCustomFormatScore?: boolean; bypassIfHighestQuality?: boolean; enableTorrent?: boolean; enableUsenet?: boolean; /** Format: int32 */ id?: number; /** Format: int32 */ minimumCustomFormatScore?: number; /** Format: int32 */ order?: number; preferredProtocol?: components["schemas"]["DownloadProtocol"]; tags?: number[] | null; /** Format: int32 */ torrentDelay?: number; /** Format: int32 */ usenetDelay?: number; }; DiskSpaceResource: { /** Format: int64 */ freeSpace?: number; /** Format: int32 */ id?: number; label?: string | null; path?: string | null; /** Format: int64 */ totalSpace?: number; }; DownloadClientBulkResource: { applyTags?: components["schemas"]["ApplyTags"]; enable?: boolean | null; ids?: number[] | null; /** Format: int32 */ priority?: number | null; removeCompletedDownloads?: boolean | null; removeFailedDownloads?: boolean | null; tags?: number[] | null; }; DownloadClientConfigResource: { autoRedownloadFailed?: boolean; autoRedownloadFailedFromInteractiveSearch?: boolean; downloadClientWorkingFolders?: string | null; enableCompletedDownloadHandling?: boolean; /** Format: int32 */ id?: number; }; DownloadClientResource: { configContract?: string | null; enable?: boolean; fields?: components["schemas"]["Field"][] | null; /** Format: int32 */ id?: number; implementation?: string | null; implementationName?: string | null; infoLink?: string | null; message?: components["schemas"]["ProviderMessage"]; name?: string | null; presets?: components["schemas"]["DownloadClientResource"][] | null; /** Format: int32 */ priority?: number; protocol?: components["schemas"]["DownloadProtocol"]; removeCompletedDownloads?: boolean; removeFailedDownloads?: boolean; tags?: number[] | null; }; /** @enum {string} */ DownloadProtocol: "unknown" | "usenet" | "torrent"; EpisodeFileListResource: { episodeFileIds?: number[] | null; languages?: components["schemas"]["Language"][] | null; quality?: components["schemas"]["QualityModel"]; releaseGroup?: string | null; sceneName?: string | null; }; EpisodeFileResource: { customFormats?: components["schemas"]["CustomFormatResource"][] | null; /** Format: int32 */ customFormatScore?: number; /** Format: date-time */ dateAdded?: string; /** Format: int32 */ id?: number; /** Format: int32 */ indexerFlags?: number | null; languages?: components["schemas"]["Language"][] | null; mediaInfo?: components["schemas"]["MediaInfoResource"]; path?: string | null; quality?: components["schemas"]["QualityModel"]; qualityCutoffNotMet?: boolean; relativePath?: string | null; releaseGroup?: string | null; releaseType?: components["schemas"]["ReleaseType"]; sceneName?: string | null; /** Format: int32 */ seasonNumber?: number; /** Format: int32 */ seriesId?: number; /** Format: int64 */ size?: number; }; /** @enum {string} */ EpisodeHistoryEventType: "unknown" | "grabbed" | "seriesFolderImported" | "downloadFolderImported" | "downloadFailed" | "episodeFileDeleted" | "episodeFileRenamed" | "downloadIgnored"; EpisodeResource: { /** Format: int32 */ absoluteEpisodeNumber?: number | null; airDate?: string | null; /** Format: date-time */ airDateUtc?: string | null; /** Format: date-time */ endTime?: string | null; episodeFile?: components["schemas"]["EpisodeFileResource"]; /** Format: int32 */ episodeFileId?: number; /** Format: int32 */ episodeNumber?: number; finaleType?: string | null; /** Format: date-time */ grabDate?: string | null; hasFile?: boolean; /** Format: int32 */ id?: number; images?: components["schemas"]["MediaCover"][] | null; /** Format: date-time */ lastSearchTime?: string | null; monitored?: boolean; overview?: string | null; /** Format: int32 */ runtime?: number; /** Format: int32 */ sceneAbsoluteEpisodeNumber?: number | null; /** Format: int32 */ sceneEpisodeNumber?: number | null; /** Format: int32 */ sceneSeasonNumber?: number | null; /** Format: int32 */ seasonNumber?: number; series?: components["schemas"]["SeriesResource"]; /** Format: int32 */ seriesId?: number; title?: string | null; /** Format: int32 */ tvdbId?: number; unverifiedSceneNumbering?: boolean; }; EpisodeResourcePagingResource: { /** Format: int32 */ page?: number; /** Format: int32 */ pageSize?: number; records?: components["schemas"]["EpisodeResource"][] | null; sortDirection?: components["schemas"]["SortDirection"]; sortKey?: string | null; /** Format: int32 */ totalRecords?: number; }; EpisodesMonitoredResource: { episodeIds?: number[] | null; monitored?: boolean; }; /** @enum {string} */ EpisodeTitleRequiredType: "always" | "bulkSeasonReleases" | "never"; Field: { advanced?: boolean; helpLink?: string | null; helpText?: string | null; helpTextWarning?: string | null; hidden?: string | null; isFloat?: boolean; label?: string | null; name?: string | null; /** Format: int32 */ order?: number; placeholder?: string | null; privacy?: components["schemas"]["PrivacyLevel"]; section?: string | null; selectOptions?: components["schemas"]["SelectOption"][] | null; selectOptionsProviderAction?: string | null; type?: string | null; unit?: string | null; value?: unknown; }; /** @enum {string} */ FileDateType: "none" | "localAirDate" | "utcAirDate"; /** @enum {string} */ HealthCheckResult: "ok" | "notice" | "warning" | "error"; HealthResource: { /** Format: int32 */ id?: number; message?: string | null; source?: string | null; type?: components["schemas"]["HealthCheckResult"]; wikiUrl?: components["schemas"]["HttpUri"]; }; HistoryResource: { customFormats?: components["schemas"]["CustomFormatResource"][] | null; /** Format: int32 */ customFormatScore?: number; data?: { [key: string]: string | null; } | null; /** Format: date-time */ date?: string; downloadId?: string | null; episode?: components["schemas"]["EpisodeResource"]; /** Format: int32 */ episodeId?: number; eventType?: components["schemas"]["EpisodeHistoryEventType"]; /** Format: int32 */ id?: number; languages?: components["schemas"]["Language"][] | null; quality?: components["schemas"]["QualityModel"]; qualityCutoffNotMet?: boolean; series?: components["schemas"]["SeriesResource"]; /** Format: int32 */ seriesId?: number; sourceTitle?: string | null; }; HistoryResourcePagingResource: { /** Format: int32 */ page?: number; /** Format: int32 */ pageSize?: number; records?: components["schemas"]["HistoryResource"][] | null; sortDirection?: components["schemas"]["SortDirection"]; sortKey?: string | null; /** Format: int32 */ totalRecords?: number; }; HostConfigResource: { analyticsEnabled?: boolean; apiKey?: string | null; applicationUrl?: string | null; authenticationMethod?: components["schemas"]["AuthenticationType"]; authenticationRequired?: components["schemas"]["AuthenticationRequiredType"]; backupFolder?: string | null; /** Format: int32 */ backupInterval?: number; /** Format: int32 */ backupRetention?: number; bindAddress?: string | null; branch?: string | null; certificateValidation?: components["schemas"]["CertificateValidationType"]; consoleLogLevel?: string | null; enableSsl?: boolean; /** Format: int32 */ id?: number; instanceName?: string | null; launchBrowser?: boolean; logLevel?: string | null; /** Format: int32 */ logSizeLimit?: number; password?: string | null; passwordConfirmation?: string | null; /** Format: int32 */ port?: number; proxyBypassFilter?: string | null; proxyBypassLocalAddresses?: boolean; proxyEnabled?: boolean; proxyHostname?: string | null; proxyPassword?: string | null; /** Format: int32 */ proxyPort?: number; proxyType?: components["schemas"]["ProxyType"]; proxyUsername?: string | null; sslCertPassword?: string | null; sslCertPath?: string | null; /** Format: int32 */ sslPort?: number; trustCgnatIpAddresses?: boolean; updateAutomatically?: boolean; updateMechanism?: components["schemas"]["UpdateMechanism"]; updateScriptPath?: string | null; urlBase?: string | null; username?: string | null; }; HttpUri: { readonly fragment?: string | null; readonly fullUri?: string | null; readonly host?: string | null; readonly path?: string | null; /** Format: int32 */ readonly port?: number | null; readonly query?: string | null; readonly scheme?: string | null; }; ImportListBulkResource: { applyTags?: components["schemas"]["ApplyTags"]; enableAutomaticAdd?: boolean | null; ids?: number[] | null; /** Format: int32 */ qualityProfileId?: number | null; rootFolderPath?: string | null; tags?: number[] | null; }; ImportListConfigResource: { /** Format: int32 */ id?: number; listSyncLevel?: components["schemas"]["ListSyncLevelType"]; /** Format: int32 */ listSyncTag?: number; }; ImportListExclusionBulkResource: { ids?: number[] | null; }; ImportListExclusionResource: { /** Format: int32 */ id?: number; title?: string | null; /** Format: int32 */ tvdbId?: number; }; ImportListExclusionResourcePagingResource: { /** Format: int32 */ page?: number; /** Format: int32 */ pageSize?: number; records?: components["schemas"]["ImportListExclusionResource"][] | null; sortDirection?: components["schemas"]["SortDirection"]; sortKey?: string | null; /** Format: int32 */ totalRecords?: number; }; ImportListResource: { configContract?: string | null; enableAutomaticAdd?: boolean; fields?: components["schemas"]["Field"][] | null; /** Format: int32 */ id?: number; implementation?: string | null; implementationName?: string | null; infoLink?: string | null; /** Format: int32 */ listOrder?: number; listType?: components["schemas"]["ImportListType"]; message?: components["schemas"]["ProviderMessage"]; /** Format: date-span */ minRefreshInterval?: string; monitorNewItems?: components["schemas"]["NewItemMonitorTypes"]; name?: string | null; presets?: components["schemas"]["ImportListResource"][] | null; /** Format: int32 */ qualityProfileId?: number; rootFolderPath?: string | null; searchForMissingEpisodes?: boolean; seasonFolder?: boolean; seriesType?: components["schemas"]["SeriesTypes"]; shouldMonitor?: components["schemas"]["MonitorTypes"]; tags?: number[] | null; }; /** @enum {string} */ ImportListType: "program" | "plex" | "trakt" | "simkl" | "other" | "advanced"; ImportRejectionResource: { reason?: string | null; type?: components["schemas"]["RejectionType"]; }; IndexerBulkResource: { applyTags?: components["schemas"]["ApplyTags"]; enableAutomaticSearch?: boolean | null; enableInteractiveSearch?: boolean | null; enableRss?: boolean | null; ids?: number[] | null; /** Format: int32 */ priority?: number | null; tags?: number[] | null; }; IndexerConfigResource: { /** Format: int32 */ id?: number; /** Format: int32 */ maximumSize?: number; /** Format: int32 */ minimumAge?: number; /** Format: int32 */ retention?: number; /** Format: int32 */ rssSyncInterval?: number; }; IndexerFlagResource: { /** Format: int32 */ id?: number; name?: string | null; readonly nameLower?: string | null; }; IndexerResource: { configContract?: string | null; /** Format: int32 */ downloadClientId?: number; enableAutomaticSearch?: boolean; enableInteractiveSearch?: boolean; enableRss?: boolean; fields?: components["schemas"]["Field"][] | null; /** Format: int32 */ id?: number; implementation?: string | null; implementationName?: string | null; infoLink?: string | null; message?: components["schemas"]["ProviderMessage"]; name?: string | null; presets?: components["schemas"]["IndexerResource"][] | null; /** Format: int32 */ priority?: number; protocol?: components["schemas"]["DownloadProtocol"]; /** Format: int32 */ seasonSearchMaximumSingleEpisodeAge?: number; supportsRss?: boolean; supportsSearch?: boolean; tags?: number[] | null; }; Language: { /** Format: int32 */ id?: number; name?: string | null; }; LanguageProfileItemResource: { allowed?: boolean; /** Format: int32 */ id?: number; language?: components["schemas"]["Language"]; }; LanguageProfileResource: { cutoff?: components["schemas"]["Language"]; /** Format: int32 */ id?: number; languages?: components["schemas"]["LanguageProfileItemResource"][] | null; name?: string | null; upgradeAllowed?: boolean; }; LanguageResource: { /** Format: int32 */ id?: number; name?: string | null; readonly nameLower?: string | null; }; /** @enum {string} */ ListSyncLevelType: "disabled" | "logOnly" | "keepAndUnmonitor" | "keepAndTag"; LocalizationLanguageResource: { identifier?: string | null; }; LocalizationResource: { /** Format: int32 */ id?: number; strings?: { [key: string]: string | null; } | null; }; LogFileResource: { contentsUrl?: string | null; downloadUrl?: string | null; filename?: string | null; /** Format: int32 */ id?: number; /** Format: date-time */ lastWriteTime?: string; }; LogResource: { exception?: string | null; exceptionType?: string | null; /** Format: int32 */ id?: number; level?: string | null; logger?: string | null; message?: string | null; method?: string | null; /** Format: date-time */ time?: string; }; LogResourcePagingResource: { /** Format: int32 */ page?: number; /** Format: int32 */ pageSize?: number; records?: components["schemas"]["LogResource"][] | null; sortDirection?: components["schemas"]["SortDirection"]; sortKey?: string | null; /** Format: int32 */ totalRecords?: number; }; ManualImportReprocessResource: { customFormats?: components["schemas"]["CustomFormatResource"][] | null; /** Format: int32 */ customFormatScore?: number; downloadId?: string | null; episodeIds?: number[] | null; episodes?: components["schemas"]["EpisodeResource"][] | null; /** Format: int32 */ id?: number; /** Format: int32 */ indexerFlags?: number; languages?: components["schemas"]["Language"][] | null; path?: string | null; quality?: components["schemas"]["QualityModel"]; rejections?: components["schemas"]["ImportRejectionResource"][] | null; releaseGroup?: string | null; releaseType?: components["schemas"]["ReleaseType"]; /** Format: int32 */ seasonNumber?: number | null; /** Format: int32 */ seriesId?: number; }; ManualImportResource: { customFormats?: components["schemas"]["CustomFormatResource"][] | null; /** Format: int32 */ customFormatScore?: number; downloadId?: string | null; /** Format: int32 */ episodeFileId?: number | null; episodes?: components["schemas"]["EpisodeResource"][] | null; folderName?: string | null; /** Format: int32 */ id?: number; /** Format: int32 */ indexerFlags?: number; languages?: components["schemas"]["Language"][] | null; name?: string | null; path?: string | null; quality?: components["schemas"]["QualityModel"]; /** Format: int32 */ qualityWeight?: number; rejections?: components["schemas"]["ImportRejectionResource"][] | null; relativePath?: string | null; releaseGroup?: string | null; releaseType?: components["schemas"]["ReleaseType"]; /** Format: int32 */ seasonNumber?: number | null; series?: components["schemas"]["SeriesResource"]; /** Format: int64 */ size?: number; }; MediaCover: { coverType?: components["schemas"]["MediaCoverTypes"]; remoteUrl?: string | null; url?: string | null; }; /** @enum {string} */ MediaCoverTypes: "unknown" | "poster" | "banner" | "fanart" | "screenshot" | "headshot" | "clearlogo"; MediaInfoResource: { /** Format: int64 */ audioBitrate?: number; /** Format: double */ audioChannels?: number; audioCodec?: string | null; audioLanguages?: string | null; /** Format: int32 */ audioStreamCount?: number; /** Format: int32 */ id?: number; resolution?: string | null; runTime?: string | null; scanType?: string | null; subtitles?: string | null; /** Format: int32 */ videoBitDepth?: number; /** Format: int64 */ videoBitrate?: number; videoCodec?: string | null; videoDynamicRange?: string | null; videoDynamicRangeType?: string | null; /** Format: double */ videoFps?: number; }; MediaManagementConfigResource: { autoUnmonitorPreviouslyDownloadedEpisodes?: boolean; chmodFolder?: string | null; chownGroup?: string | null; copyUsingHardlinks?: boolean; createEmptySeriesFolders?: boolean; deleteEmptyFolders?: boolean; downloadPropersAndRepacks?: components["schemas"]["ProperDownloadTypes"]; enableMediaInfo?: boolean; episodeTitleRequired?: components["schemas"]["EpisodeTitleRequiredType"]; extraFileExtensions?: string | null; fileDate?: components["schemas"]["FileDateType"]; /** Format: int32 */ id?: number; importExtraFiles?: boolean; /** Format: int32 */ minimumFreeSpaceWhenImporting?: number; recycleBin?: string | null; /** Format: int32 */ recycleBinCleanupDays?: number; rescanAfterRefresh?: components["schemas"]["RescanAfterRefreshType"]; scriptImportPath?: string | null; setPermissionsLinux?: boolean; skipFreeSpaceCheckWhenImporting?: boolean; useScriptImport?: boolean; }; MetadataResource: { configContract?: string | null; enable?: boolean; fields?: components["schemas"]["Field"][] | null; /** Format: int32 */ id?: number; implementation?: string | null; implementationName?: string | null; infoLink?: string | null; message?: components["schemas"]["ProviderMessage"]; name?: string | null; presets?: components["schemas"]["MetadataResource"][] | null; tags?: number[] | null; }; MonitoringOptions: { ignoreEpisodesWithFiles?: boolean; ignoreEpisodesWithoutFiles?: boolean; monitor?: components["schemas"]["MonitorTypes"]; }; /** @enum {string} */ MonitorTypes: "unknown" | "all" | "future" | "missing" | "existing" | "firstSeason" | "lastSeason" | "latestSeason" | "pilot" | "recent" | "monitorSpecials" | "unmonitorSpecials" | "none" | "skip"; NamingConfigResource: { animeEpisodeFormat?: string | null; /** Format: int32 */ colonReplacementFormat?: number; customColonReplacementFormat?: string | null; dailyEpisodeFormat?: string | null; /** Format: int32 */ id?: number; /** Format: int32 */ multiEpisodeStyle?: number; renameEpisodes?: boolean; replaceIllegalCharacters?: boolean; seasonFolderFormat?: string | null; seriesFolderFormat?: string | null; specialsFolderFormat?: string | null; standardEpisodeFormat?: string | null; }; /** @enum {string} */ NewItemMonitorTypes: "all" | "none"; NotificationResource: { configContract?: string | null; fields?: components["schemas"]["Field"][] | null; /** Format: int32 */ id?: number; implementation?: string | null; implementationName?: string | null; includeHealthWarnings?: boolean; infoLink?: string | null; link?: string | null; message?: components["schemas"]["ProviderMessage"]; name?: string | null; onApplicationUpdate?: boolean; onDownload?: boolean; onEpisodeFileDelete?: boolean; onEpisodeFileDeleteForUpgrade?: boolean; onGrab?: boolean; onHealthIssue?: boolean; onHealthRestored?: boolean; onImportComplete?: boolean; onManualInteractionRequired?: boolean; onRename?: boolean; onSeriesAdd?: boolean; onSeriesDelete?: boolean; onUpgrade?: boolean; presets?: components["schemas"]["NotificationResource"][] | null; supportsOnApplicationUpdate?: boolean; supportsOnDownload?: boolean; supportsOnEpisodeFileDelete?: boolean; supportsOnEpisodeFileDeleteForUpgrade?: boolean; supportsOnGrab?: boolean; supportsOnHealthIssue?: boolean; supportsOnHealthRestored?: boolean; supportsOnImportComplete?: boolean; supportsOnManualInteractionRequired?: boolean; supportsOnRename?: boolean; supportsOnSeriesAdd?: boolean; supportsOnSeriesDelete?: boolean; supportsOnUpgrade?: boolean; tags?: number[] | null; testCommand?: string | null; }; ParsedEpisodeInfo: { absoluteEpisodeNumbers?: number[] | null; airDate?: string | null; /** Format: int32 */ dailyPart?: number | null; episodeNumbers?: number[] | null; fullSeason?: boolean; readonly isAbsoluteNumbering?: boolean; readonly isDaily?: boolean; isMiniSeries?: boolean; isMultiSeason?: boolean; isPartialSeason?: boolean; readonly isPossibleSceneSeasonSpecial?: boolean; readonly isPossibleSpecialEpisode?: boolean; isSeasonExtra?: boolean; isSplitEpisode?: boolean; languages?: components["schemas"]["Language"][] | null; quality?: components["schemas"]["QualityModel"]; releaseGroup?: string | null; releaseHash?: string | null; releaseTitle?: string | null; releaseTokens?: string | null; releaseType?: components["schemas"]["ReleaseType"]; /** Format: int32 */ seasonNumber?: number; /** Format: int32 */ seasonPart?: number; seriesTitle?: string | null; seriesTitleInfo?: components["schemas"]["SeriesTitleInfo"]; special?: boolean; specialAbsoluteEpisodeNumbers?: number[] | null; }; ParseResource: { customFormats?: components["schemas"]["CustomFormatResource"][] | null; /** Format: int32 */ customFormatScore?: number; episodes?: components["schemas"]["EpisodeResource"][] | null; /** Format: int32 */ id?: number; languages?: components["schemas"]["Language"][] | null; parsedEpisodeInfo?: components["schemas"]["ParsedEpisodeInfo"]; series?: components["schemas"]["SeriesResource"]; title?: string | null; }; PingResource: { status?: string | null; }; /** @enum {string} */ PrivacyLevel: "normal" | "password" | "apiKey" | "userName"; ProfileFormatItemResource: { /** Format: int32 */ format?: number; /** Format: int32 */ id?: number; name?: string | null; /** Format: int32 */ score?: number; }; /** @enum {string} */ ProperDownloadTypes: "preferAndUpgrade" | "doNotUpgrade" | "doNotPrefer"; ProviderMessage: { message?: string | null; type?: components["schemas"]["ProviderMessageType"]; }; /** @enum {string} */ ProviderMessageType: "info" | "warning" | "error"; /** @enum {string} */ ProxyType: "http" | "socks4" | "socks5"; Quality: { /** Format: int32 */ id?: number; name?: string | null; /** Format: int32 */ resolution?: number; source?: components["schemas"]["QualitySource"]; }; QualityDefinitionLimitsResource: { /** Format: int32 */ max?: number; /** Format: int32 */ min?: number; }; QualityDefinitionResource: { /** Format: int32 */ id?: number; /** Format: double */ maxSize?: number | null; /** Format: double */ minSize?: number | null; /** Format: double */ preferredSize?: number | null; quality?: components["schemas"]["Quality"]; title?: string | null; /** Format: int32 */ weight?: number; }; QualityModel: { quality?: components["schemas"]["Quality"]; revision?: components["schemas"]["Revision"]; }; QualityProfileQualityItemResource: { allowed?: boolean; /** Format: int32 */ id?: number; items?: components["schemas"]["QualityProfileQualityItemResource"][] | null; name?: string | null; quality?: components["schemas"]["Quality"]; }; QualityProfileResource: { /** Format: int32 */ cutoff?: number; /** Format: int32 */ cutoffFormatScore?: number; formatItems?: components["schemas"]["ProfileFormatItemResource"][] | null; /** Format: int32 */ id?: number; items?: components["schemas"]["QualityProfileQualityItemResource"][] | null; /** Format: int32 */ minFormatScore?: number; /** Format: int32 */ minUpgradeFormatScore?: number; name?: string | null; upgradeAllowed?: boolean; }; /** @enum {string} */ QualitySource: "unknown" | "television" | "televisionRaw" | "web" | "webRip" | "dvd" | "bluray" | "blurayRaw"; QueueBulkResource: { ids?: number[] | null; }; QueueResource: { /** Format: date-time */ added?: string | null; customFormats?: components["schemas"]["CustomFormatResource"][] | null; /** Format: int32 */ customFormatScore?: number; downloadClient?: string | null; downloadClientHasPostImportCategory?: boolean; downloadId?: string | null; episode?: components["schemas"]["EpisodeResource"]; episodeHasFile?: boolean; /** Format: int32 */ episodeId?: number | null; errorMessage?: string | null; /** Format: date-time */ estimatedCompletionTime?: string | null; /** Format: int32 */ id?: number; indexer?: string | null; languages?: components["schemas"]["Language"][] | null; outputPath?: string | null; protocol?: components["schemas"]["DownloadProtocol"]; quality?: components["schemas"]["QualityModel"]; /** Format: int32 */ seasonNumber?: number | null; series?: components["schemas"]["SeriesResource"]; /** Format: int32 */ seriesId?: number | null; /** Format: double */ size?: number; /** * Format: double * @deprecated */ sizeleft?: number; status?: components["schemas"]["QueueStatus"]; statusMessages?: components["schemas"]["TrackedDownloadStatusMessage"][] | null; /** * Format: date-span * @deprecated */ timeleft?: string | null; title?: string | null; trackedDownloadState?: components["schemas"]["TrackedDownloadState"]; trackedDownloadStatus?: components["schemas"]["TrackedDownloadStatus"]; }; QueueResourcePagingResource: { /** Format: int32 */ page?: number; /** Format: int32 */ pageSize?: number; records?: components["schemas"]["QueueResource"][] | null; sortDirection?: components["schemas"]["SortDirection"]; sortKey?: string | null; /** Format: int32 */ totalRecords?: number; }; /** @enum {string} */ QueueStatus: "unknown" | "queued" | "paused" | "downloading" | "completed" | "failed" | "warning" | "delay" | "downloadClientUnavailable" | "fallback"; QueueStatusResource: { /** Format: int32 */ count?: number; errors?: boolean; /** Format: int32 */ id?: number; /** Format: int32 */ totalCount?: number; /** Format: int32 */ unknownCount?: number; unknownErrors?: boolean; unknownWarnings?: boolean; warnings?: boolean; }; Ratings: { /** Format: double */ value?: number; /** Format: int32 */ votes?: number; }; /** @enum {string} */ RejectionType: "permanent" | "temporary"; ReleaseEpisodeResource: { /** Format: int32 */ absoluteEpisodeNumber?: number | null; /** Format: int32 */ episodeNumber?: number; /** Format: int32 */ id?: number; /** Format: int32 */ seasonNumber?: number; title?: string | null; }; ReleaseProfileResource: { enabled?: boolean; /** Format: int32 */ id?: number; ignored?: unknown; /** Format: int32 */ indexerId?: number; name?: string | null; required?: unknown; tags?: number[] | null; }; ReleaseResource: { absoluteEpisodeNumbers?: number[] | null; /** Format: int32 */ age?: number; /** Format: double */ ageHours?: number; /** Format: double */ ageMinutes?: number; airDate?: string | null; approved?: boolean; commentUrl?: string | null; customFormats?: components["schemas"]["CustomFormatResource"][] | null; /** Format: int32 */ customFormatScore?: number; downloadAllowed?: boolean; downloadClient?: string | null; /** Format: int32 */ downloadClientId?: number | null; downloadUrl?: string | null; /** Format: int32 */ episodeId?: number | null; episodeIds?: number[] | null; episodeNumbers?: number[] | null; episodeRequested?: boolean; fullSeason?: boolean; guid?: string | null; /** Format: int32 */ id?: number; imdbId?: string | null; indexer?: string | null; /** Format: int32 */ indexerFlags?: number; /** Format: int32 */ indexerId?: number; infoHash?: string | null; infoUrl?: string | null; isAbsoluteNumbering?: boolean; isDaily?: boolean; isPossibleSpecialEpisode?: boolean; languages?: components["schemas"]["Language"][] | null; /** Format: int32 */ languageWeight?: number; /** Format: int32 */ leechers?: number | null; magnetUrl?: string | null; mappedAbsoluteEpisodeNumbers?: number[] | null; mappedEpisodeInfo?: components["schemas"]["ReleaseEpisodeResource"][] | null; mappedEpisodeNumbers?: number[] | null; /** Format: int32 */ mappedSeasonNumber?: number | null; /** Format: int32 */ mappedSeriesId?: number | null; protocol?: components["schemas"]["DownloadProtocol"]; /** Format: date-time */ publishDate?: string; quality?: components["schemas"]["QualityModel"]; /** Format: int32 */ qualityWeight?: number; rejected?: boolean; rejections?: string[] | null; releaseGroup?: string | null; releaseHash?: string | null; /** Format: int32 */ releaseWeight?: number; sceneMapping?: components["schemas"]["AlternateTitleResource"]; sceneSource?: boolean; /** Format: int32 */ seasonNumber?: number; /** Format: int32 */ seeders?: number | null; /** Format: int32 */ seriesId?: number | null; seriesTitle?: string | null; shouldOverride?: boolean | null; /** Format: int64 */ size?: number; special?: boolean; subGroup?: string | null; temporarilyRejected?: boolean; title?: string | null; /** Format: int32 */ tvdbId?: number; /** Format: int32 */ tvRageId?: number; }; /** @enum {string} */ ReleaseType: "unknown" | "singleEpisode" | "multiEpisode" | "seasonPack"; RemotePathMappingResource: { host?: string | null; /** Format: int32 */ id?: number; localPath?: string | null; remotePath?: string | null; }; RenameEpisodeResource: { /** Format: int32 */ episodeFileId?: number; episodeNumbers?: number[] | null; existingPath?: string | null; /** Format: int32 */ id?: number; newPath?: string | null; /** Format: int32 */ seasonNumber?: number; /** Format: int32 */ seriesId?: number; }; /** @enum {string} */ RescanAfterRefreshType: "always" | "afterManual" | "never"; Revision: { isRepack?: boolean; /** Format: int32 */ real?: number; /** Format: int32 */ version?: number; }; RootFolderResource: { accessible?: boolean; /** Format: int64 */ freeSpace?: number | null; /** Format: int32 */ id?: number; path?: string | null; unmappedFolders?: components["schemas"]["UnmappedFolder"][] | null; }; /** @enum {string} */ RuntimeMode: "console" | "service" | "tray"; SeasonPassResource: { monitoringOptions?: components["schemas"]["MonitoringOptions"]; series?: components["schemas"]["SeasonPassSeriesResource"][] | null; }; SeasonPassSeriesResource: { /** Format: int32 */ id?: number; monitored?: boolean | null; seasons?: components["schemas"]["SeasonResource"][] | null; }; SeasonResource: { images?: components["schemas"]["MediaCover"][] | null; monitored?: boolean; /** Format: int32 */ seasonNumber?: number; statistics?: components["schemas"]["SeasonStatisticsResource"]; }; SeasonStatisticsResource: { /** Format: int32 */ episodeCount?: number; /** Format: int32 */ episodeFileCount?: number; /** Format: date-time */ nextAiring?: string | null; /** Format: double */ readonly percentOfEpisodes?: number; /** Format: date-time */ previousAiring?: string | null; releaseGroups?: string[] | null; /** Format: int64 */ sizeOnDisk?: number; /** Format: int32 */ totalEpisodeCount?: number; }; SelectOption: { hint?: string | null; name?: string | null; /** Format: int32 */ order?: number; /** Format: int32 */ value?: number; }; SeriesEditorResource: { addImportListExclusion?: boolean; applyTags?: components["schemas"]["ApplyTags"]; deleteFiles?: boolean; monitored?: boolean | null; monitorNewItems?: components["schemas"]["NewItemMonitorTypes"]; moveFiles?: boolean; /** Format: int32 */ qualityProfileId?: number | null; rootFolderPath?: string | null; seasonFolder?: boolean | null; seriesIds?: number[] | null; seriesType?: components["schemas"]["SeriesTypes"]; tags?: number[] | null; }; SeriesResource: { /** Format: date-time */ added?: string; addOptions?: components["schemas"]["AddSeriesOptions"]; airTime?: string | null; alternateTitles?: components["schemas"]["AlternateTitleResource"][] | null; certification?: string | null; cleanTitle?: string | null; readonly ended?: boolean; episodesChanged?: boolean | null; /** Format: date-time */ firstAired?: string | null; folder?: string | null; genres?: string[] | null; /** Format: int32 */ id?: number; images?: components["schemas"]["MediaCover"][] | null; imdbId?: string | null; /** * Format: int32 * @deprecated */ readonly languageProfileId?: number; /** Format: date-time */ lastAired?: string | null; monitored?: boolean; monitorNewItems?: components["schemas"]["NewItemMonitorTypes"]; network?: string | null; /** Format: date-time */ nextAiring?: string | null; originalLanguage?: components["schemas"]["Language"]; overview?: string | null; path?: string | null; /** Format: date-time */ previousAiring?: string | null; profileName?: string | null; /** Format: int32 */ qualityProfileId?: number; ratings?: components["schemas"]["Ratings"]; remotePoster?: string | null; rootFolderPath?: string | null; /** Format: int32 */ runtime?: number; seasonFolder?: boolean; seasons?: components["schemas"]["SeasonResource"][] | null; seriesType?: components["schemas"]["SeriesTypes"]; sortTitle?: string | null; statistics?: components["schemas"]["SeriesStatisticsResource"]; status?: components["schemas"]["SeriesStatusType"]; tags?: number[] | null; title?: string | null; titleSlug?: string | null; /** Format: int32 */ tmdbId?: number; /** Format: int32 */ tvdbId?: number; /** Format: int32 */ tvMazeId?: number; /** Format: int32 */ tvRageId?: number; useSceneNumbering?: boolean; /** Format: int32 */ year?: number; }; SeriesStatisticsResource: { /** Format: int32 */ episodeCount?: number; /** Format: int32 */ episodeFileCount?: number; /** Format: double */ readonly percentOfEpisodes?: number; releaseGroups?: string[] | null; /** Format: int32 */ seasonCount?: number; /** Format: int64 */ sizeOnDisk?: number; /** Format: int32 */ totalEpisodeCount?: number; }; /** @enum {string} */ SeriesStatusType: "continuing" | "ended" | "upcoming" | "deleted"; SeriesTitleInfo: { allTitles?: string[] | null; title?: string | null; titleWithoutYear?: string | null; /** Format: int32 */ year?: number; }; /** @enum {string} */ SeriesTypes: "standard" | "daily" | "anime"; /** @enum {string} */ SortDirection: "default" | "ascending" | "descending"; SystemResource: { appData?: string | null; appName?: string | null; authentication?: components["schemas"]["AuthenticationType"]; branch?: string | null; /** Format: date-time */ buildTime?: string; databaseType?: components["schemas"]["DatabaseType"]; databaseVersion?: string | null; instanceName?: string | null; isAdmin?: boolean; isDebug?: boolean; isDocker?: boolean; isLinux?: boolean; isNetCore?: boolean; isOsx?: boolean; isProduction?: boolean; isUserInteractive?: boolean; isWindows?: boolean; /** Format: int32 */ migrationVersion?: number; mode?: components["schemas"]["RuntimeMode"]; osName?: string | null; osVersion?: string | null; packageAuthor?: string | null; packageUpdateMechanism?: components["schemas"]["UpdateMechanism"]; packageUpdateMechanismMessage?: string | null; packageVersion?: string | null; runtimeName?: string | null; runtimeVersion?: string | null; sqliteVersion?: string | null; /** Format: date-time */ startTime?: string; startupPath?: string | null; urlBase?: string | null; version?: string | null; }; TagDetailsResource: { autoTagIds?: number[] | null; delayProfileIds?: number[] | null; downloadClientIds?: number[] | null; /** Format: int32 */ id?: number; importListIds?: number[] | null; indexerIds?: number[] | null; label?: string | null; notificationIds?: number[] | null; restrictionIds?: number[] | null; seriesIds?: number[] | null; }; TagResource: { /** Format: int32 */ id?: number; label?: string | null; }; TaskResource: { /** Format: int32 */ id?: number; /** Format: int32 */ interval?: number; /** Format: date-span */ readonly lastDuration?: string; /** Format: date-time */ lastExecution?: string; /** Format: date-time */ lastStartTime?: string; name?: string | null; /** Format: date-time */ nextExecution?: string; taskName?: string | null; }; /** @enum {string} */ TrackedDownloadState: "downloading" | "importBlocked" | "importPending" | "importing" | "imported" | "failedPending" | "failed" | "ignored"; /** @enum {string} */ TrackedDownloadStatus: "ok" | "warning" | "error"; TrackedDownloadStatusMessage: { messages?: string[] | null; title?: string | null; }; UiConfigResource: { calendarWeekColumnHeader?: string | null; enableColorImpairedMode?: boolean; /** Format: int32 */ firstDayOfWeek?: number; /** Format: int32 */ id?: number; longDateFormat?: string | null; shortDateFormat?: string | null; showRelativeDates?: boolean; theme?: string | null; timeFormat?: string | null; /** Format: int32 */ uiLanguage?: number; }; UnmappedFolder: { name?: string | null; path?: string | null; relativePath?: string | null; }; UpdateChanges: { fixed?: string[] | null; new?: string[] | null; }; /** @enum {string} */ UpdateMechanism: "builtIn" | "script" | "external" | "apt" | "docker"; UpdateResource: { branch?: string | null; changes?: components["schemas"]["UpdateChanges"]; fileName?: string | null; hash?: string | null; /** Format: int32 */ id?: number; installable?: boolean; installed?: boolean; /** Format: date-time */ installedOn?: string | null; latest?: boolean; /** Format: date-time */ releaseDate?: string; url?: string | null; version?: string | null; }; }; responses: never; parameters: never; requestBodies: never; headers: never; pathItems: never; }; type Series = components['schemas']['SeriesResource']; type SeriesEditor = components['schemas']['SeriesEditorResource']; type SeriesStatistics = components['schemas']['SeriesStatisticsResource']; type SeriesType = components['schemas']['SeriesTypes']; type AddSeriesOptions = components['schemas']['AddSeriesOptions']; type AlternateTitle = components['schemas']['AlternateTitleResource']; type Season = components['schemas']['SeasonResource']; type SeasonStatistics = components['schemas']['SeasonStatisticsResource']; type SeasonPass = components['schemas']['SeasonPassResource']; type SeasonPassSeries = components['schemas']['SeasonPassSeriesResource']; type Episode = components['schemas']['EpisodeResource']; type EpisodeFile = components['schemas']['EpisodeFileResource']; type EpisodeFileList = components['schemas']['EpisodeFileListResource']; type EpisodesMonitored = components['schemas']['EpisodesMonitoredResource']; type EpisodeHistoryEventType = components['schemas']['EpisodeHistoryEventType']; type RenameEpisode = components['schemas']['RenameEpisodeResource']; type QualityProfile = components['schemas']['QualityProfileResource']; type QualityProfileQualityItem = components['schemas']['QualityProfileQualityItemResource']; type QualityDefinition = components['schemas']['QualityDefinitionResource']; type QualityDefinitionLimits = components['schemas']['QualityDefinitionLimitsResource']; type Quality = components['schemas']['Quality']; type QualityModel = components['schemas']['QualityModel']; type CustomFormat = components['schemas']['CustomFormatResource']; type CustomFormatBulk = components['schemas']['CustomFormatBulkResource']; type CustomFormatSpecificationSchema = components['schemas']['CustomFormatSpecificationSchema']; type ProfileFormatItem = components['schemas']['ProfileFormatItemResource']; type Language = components['schemas']['Language']; type LanguageProfile = components['schemas']['LanguageProfileResource']; type LanguageProfileItem = components['schemas']['LanguageProfileItemResource']; type LanguageResource = components['schemas']['LanguageResource']; type Release = components['schemas']['ReleaseResource']; type ReleaseProfile = components['schemas']['ReleaseProfileResource']; type ReleaseEpisode = components['schemas']['ReleaseEpisodeResource']; type ReleaseType = components['schemas']['ReleaseType']; type Command = components['schemas']['Command']; type CommandResource = components['schemas']['CommandResource']; type CommandStatus = components['schemas']['CommandStatus']; type CommandResult = components['schemas']['CommandResult']; type CommandPriority = components['schemas']['CommandPriority']; type CommandTrigger = components['schemas']['CommandTrigger']; type Queue = components['schemas']['QueueResource']; type QueueBulk = components['schemas']['QueueBulkResource']; type QueueStatus = components['schemas']['QueueStatusResource']; type History = components['schemas']['HistoryResource']; type DownloadClient = components['schemas']['DownloadClientResource']; type DownloadClientBulk = components['schemas']['DownloadClientBulkResource']; type DownloadClientConfig = components['schemas']['DownloadClientConfigResource']; type DownloadProtocol = components['schemas']['DownloadProtocol']; type Indexer = components['schemas']['IndexerResource']; type IndexerBulk = components['schemas']['IndexerBulkResource']; type IndexerConfig = components['schemas']['IndexerConfigResource']; type IndexerFlag = components['schemas']['IndexerFlagResource']; type ImportList = components['schemas']['ImportListResource']; type ImportListBulk = components['schemas']['ImportListBulkResource']; type ImportListConfig = components['schemas']['ImportListConfigResource']; type ImportListExclusion = components['schemas']['ImportListExclusionResource']; type ImportListExclusionBulk = components['schemas']['ImportListExclusionBulkResource']; type Notification = components['schemas']['NotificationResource']; type Metadata = components['schemas']['MetadataResource']; type Tag = components['schemas']['TagResource']; type TagDetails = components['schemas']['TagDetailsResource']; type RootFolder = components['schemas']['RootFolderResource']; type RemotePathMapping = components['schemas']['RemotePathMappingResource']; type Blocklist = components['schemas']['BlocklistResource']; type BlocklistBulk = components['schemas']['BlocklistBulkResource']; type ManualImport = components['schemas']['ManualImportResource']; type ManualImportReprocess = components['schemas']['ManualImportReprocessResource']; type Parse = components['schemas']['ParseResource']; type Backup = components['schemas']['BackupResource']; type BackupType = components['schemas']['BackupType']; type SystemResource = components['schemas']['SystemResource']; type Health = components['schemas']['HealthResource']; type HealthCheckResult = components['schemas']['HealthCheckResult']; type DiskSpace = components['schemas']['DiskSpaceResource']; type Task = components['schemas']['TaskResource']; type Log = components['schemas']['LogResource']; type LogFile = components['schemas']['LogFileResource']; type Update = components['schemas']['UpdateResource']; type HostConfig = components['schemas']['HostConfigResource']; type UiConfig = components['schemas']['UiConfigResource']; type NamingConfig = components['schemas']['NamingConfigResource']; type MediaManagementConfig = components['schemas']['MediaManagementConfigResource']; type DelayProfile = components['schemas']['DelayProfileResource']; type AutoTagging = components['schemas']['AutoTaggingResource']; type AutoTaggingSpecificationSchema = components['schemas']['AutoTaggingSpecificationSchema']; type CustomFilter = components['schemas']['CustomFilterResource']; type Localization = components['schemas']['LocalizationResource']; type LocalizationLanguage = components['schemas']['LocalizationLanguageResource']; type MediaCover = components['schemas']['MediaCover']; type MediaCoverTypes = components['schemas']['MediaCoverTypes']; type MediaInfo = components['schemas']['MediaInfoResource']; type Ratings = components['schemas']['Ratings']; type MonitorTypes = components['schemas']['MonitorTypes']; type NewItemMonitorTypes = components['schemas']['NewItemMonitorTypes']; type ApplyTags = components['schemas']['ApplyTags']; type SortDirection = components['schemas']['SortDirection']; type Field = components['schemas']['Field']; type SelectOption = components['schemas']['SelectOption']; type ProviderMessage = components['schemas']['ProviderMessage']; type BlocklistPagingResource = components['schemas']['BlocklistResourcePagingResource']; type EpisodePagingResource = components['schemas']['EpisodeResourcePagingResource']; type HistoryPagingResource = components['schemas']['HistoryResourcePagingResource']; type QueuePagingResource = components['schemas']['QueueResourcePagingResource']; type LogPagingResource = components['schemas']['LogResourcePagingResource']; type ImportListExclusionPagingResource = components['schemas']['ImportListExclusionResourcePagingResource']; interface GetSeriesOptions { tvdbId?: number; includeSeasonImages?: boolean; [key: string]: unknown; } interface DeleteSeriesOptions { deleteFiles?: boolean; addImportListExclusion?: boolean; [key: string]: unknown; } declare class SeriesResource { private client; constructor(client: ClientMethods); getAll(options?: GetSeriesOptions): Promise; getById(id: number, options?: { includeSeasonImages?: boolean; }): Promise; create(series: Omit): Promise; update(id: number, series: Partial & { id: number; }, moveFiles?: boolean): Promise; delete(id: number, options?: DeleteSeriesOptions): Promise; lookup(term: string): Promise; bulkEdit(resource: SeriesEditor): Promise; bulkDelete(seriesIds: number[], options?: DeleteSeriesOptions): Promise; getFolder(id: number): Promise; } interface GetEpisodesOptions { seriesId?: number; seasonNumber?: number; episodeIds?: number[]; episodeFileId?: number; includeSeries?: boolean; includeEpisodeFile?: boolean; includeImages?: boolean; [key: string]: unknown; } declare class EpisodeResource { private client; constructor(client: ClientMethods); getAll(options?: GetEpisodesOptions): Promise; getById(id: number): Promise; getBySeries(seriesId: number, options?: { seasonNumber?: number; includeImages?: boolean; }): Promise; update(id: number, episode: Partial & { id: number; }): Promise; setMonitored(episodeIds: number[], monitored: boolean): Promise; } declare class EpisodeFileResource { private client; constructor(client: ClientMethods); getAll(options?: { seriesId?: number; episodeFileIds?: number[]; }): Promise; getById(id: number): Promise; getBySeries(seriesId: number): Promise; update(id: number, file: Partial & { id: number; }): Promise; bulkUpdate(files: EpisodeFileList): Promise; delete(id: number): Promise; bulkDelete(episodeFileIds: number[]): Promise; } declare class RenameEpisodeResource { private client; constructor(client: ClientMethods); get(seriesId: number, seasonNumber?: number): Promise; } interface CalendarOptions { start?: Date | string; end?: Date | string; unmonitored?: boolean; includeSeries?: boolean; includeEpisodeFile?: boolean; includeEpisodeImages?: boolean; tags?: number[]; } interface CalendarFeedOptions { pastDays?: number; futureDays?: number; tags?: string; unmonitored?: boolean; premieresOnly?: boolean; asAllDay?: boolean; [key: string]: unknown; } declare class CalendarResource { private client; constructor(client: ClientMethods); get(options?: CalendarOptions): Promise; getById(id: number): Promise; /** * Get calendar as iCalendar feed (.ics format) * Note: Returns raw iCalendar text, not JSON */ getICalFeed(options?: CalendarFeedOptions): Promise; } /** * File entry for the ManualImport command */ interface SonarrManualImportFile { path: string; folderName?: string; downloadId?: string; quality?: QualityModel; languages?: Language[]; releaseGroup?: string; indexerFlags?: number; seriesId?: number; episodeIds?: number[]; seasonNumber?: number; releaseType?: ReleaseType; } type SonarrCommand = { name: 'ApplicationCheckUpdate'; } | { name: 'Backup'; } | { name: 'ClearBlocklist'; } | { name: 'ClearLog'; } | { name: 'Cutoff'; seriesId?: number; } | { name: 'DownloadedEpisodesScan'; path?: string; downloadClientId?: string; importMode?: 'Auto' | 'Move' | 'Copy'; } | { name: 'EpisodeSearch'; episodeIds: number[]; } | { name: 'MissingEpisodeSearch'; seriesId?: number; } | { name: 'MoveSeries'; seriesIds: number[]; destinationRootFolder: string; } | { name: 'RefreshSeries'; seriesId?: number; } | { name: 'RenameSeries'; seriesIds: number[]; } | { name: 'RenameFiles'; seriesId: number; files: number[]; } | { name: 'Rescan'; } | { name: 'RssSync'; } | { name: 'SeasonSearch'; seriesId: number; seasonNumber: number; } | { name: 'SeriesSearch'; seriesId: number; } | { name: 'UpdateAll'; } | { name: 'ManualImport'; files: SonarrManualImportFile[]; importMode?: 'Auto' | 'Move' | 'Copy'; }; declare class CommandResource_ { private client; constructor(client: ClientMethods); getAll(): Promise; getById(id: number): Promise; execute(command: SonarrCommand): Promise; cancel(id: number): Promise; refreshSeries(seriesId?: number): Promise; rescan(): Promise; rssSync(): Promise; episodeSearch(episodeIds: number[]): Promise; seasonSearch(seriesId: number, seasonNumber: number): Promise; seriesSearch(seriesId: number): Promise; missingEpisodeSearch(seriesId?: number): Promise; backup(): Promise; clearBlocklist(): Promise; renameSeries(seriesIds: number[]): Promise; renameFiles(seriesId: number, files: number[]): Promise; downloadedEpisodesScan(options?: { path?: string; downloadClientId?: string; importMode?: 'Auto' | 'Move' | 'Copy'; }): Promise; moveSeries(seriesIds: number[], destinationRootFolder: string): Promise; manualImport(files: SonarrManualImportFile[], importMode?: 'Auto' | 'Move' | 'Copy'): Promise; } interface GetQueueOptions extends PaginationOptions { includeUnknownSeriesItems?: boolean; includeSeries?: boolean; includeEpisode?: boolean; seriesIds?: number[]; protocol?: 'unknown' | 'usenet' | 'torrent'; languages?: number[]; quality?: number[]; status?: ('unknown' | 'queued' | 'paused' | 'downloading' | 'completed' | 'failed' | 'warning' | 'delay' | 'downloadClientUnavailable' | 'fallback')[]; } interface GetQueueDetailsOptions { seriesId?: number; episodeIds?: number[]; includeSeries?: boolean; includeEpisode?: boolean; [key: string]: unknown; } interface DeleteQueueOptions { removeFromClient?: boolean; blocklist?: boolean; skipRedownload?: boolean; changeCategory?: boolean; [key: string]: unknown; } declare class QueueResource { private client; constructor(client: ClientMethods); get(options?: GetQueueOptions): Promise>; getById(id: number): Promise; getAll(options?: Omit): AsyncGenerator; getAllArray(options?: Omit): Promise; delete(id: number, options?: DeleteQueueOptions): Promise; bulkDelete(ids: number[], options?: DeleteQueueOptions): Promise; getStatus(): Promise; getDetails(options?: GetQueueDetailsOptions): Promise; grab(id: number): Promise; bulkGrab(ids: number[]): Promise; } type EventTypeInput = EpisodeHistoryEventType | number; type EventTypeFilter = EventTypeInput | EventTypeInput[]; interface GetHistoryOptions extends PaginationOptions { includeEpisode?: boolean; includeSeries?: boolean; eventType?: EventTypeFilter; episodeId?: number; downloadId?: string; seriesIds?: number[]; languages?: number[]; quality?: number; } declare class HistoryResource { private client; constructor(client: ClientMethods); get(options?: GetHistoryOptions): Promise>; getAll(options?: Omit): AsyncGenerator; getAllArray(options?: Omit): Promise; getSeries(seriesId: number, options?: { seasonNumber?: number; includeEpisode?: boolean; includeSeries?: boolean; }): Promise; getSince(date: Date | string, options?: { eventType?: EventTypeInput; includeEpisode?: boolean; includeSeries?: boolean; }): Promise; markAsFailed(id: number): Promise; markAsFailedByHistoryId(historyId: number): Promise; } declare class QualityProfileResource { private client; constructor(client: ClientMethods); getAll(): Promise; getById(id: number): Promise; create(profile: Omit): Promise; update(id: number, profile: Partial & { id: number; }): Promise; delete(id: number): Promise; getSchema(): Promise; } declare class QualityDefinitionResource { private client; constructor(client: ClientMethods); getAll(): Promise; getById(id: number): Promise; update(id: number, definition: Partial & { id: number; }): Promise; updateAll(definitions: QualityDefinition[]): Promise; getLimits(): Promise; } declare class CustomFormatResource { private client; constructor(client: ClientMethods); getAll(): Promise; getById(id: number): Promise; create(format: Omit): Promise; update(id: number, format: Partial & { id: number; }): Promise; delete(id: number): Promise; bulkDelete(ids: number[]): Promise; bulkUpdate(formats: CustomFormatBulk): Promise; getSchema(): Promise; } declare class DownloadClientResource { private client; constructor(client: ClientMethods); getAll(): Promise; getById(id: number): Promise; create(client: Omit): Promise; update(id: number, client: Partial & { id: number; }, forceSave?: boolean): Promise; delete(id: number): Promise; bulkUpdate(clients: DownloadClientBulk): Promise; bulkDelete(ids: number[]): Promise; getSchema(): Promise; test(client: Partial): Promise; testAll(): Promise; } declare class DownloadClientConfigResource { private client; constructor(client: ClientMethods); get(): Promise; update(config: Partial & { id: number; }): Promise; } declare class IndexerResource { private client; constructor(client: ClientMethods); getAll(): Promise; getById(id: number): Promise; create(indexer: Omit): Promise; update(id: number, indexer: Partial & { id: number; }, forceSave?: boolean): Promise; delete(id: number): Promise; bulkUpdate(indexers: IndexerBulk): Promise; bulkDelete(ids: number[]): Promise; getSchema(): Promise; test(indexer: Partial): Promise; testAll(): Promise; } declare class IndexerConfigResource { private client; constructor(client: ClientMethods); get(): Promise; update(config: Partial & { id: number; }): Promise; } declare class IndexerFlagResource { private client; constructor(client: ClientMethods); getAll(): Promise; } declare class TagResource { private client; constructor(client: ClientMethods); getAll(): Promise; getById(id: number): Promise; create(tag: Omit): Promise; update(id: number, tag: Partial & { id: number; }): Promise; delete(id: number): Promise; } declare class TagDetailsResource { private client; constructor(client: ClientMethods); getAll(): Promise; getById(id: number): Promise; } declare class RootFolderResource { private client; constructor(client: ClientMethods); getAll(): Promise; getById(id: number): Promise; create(folder: Omit): Promise; delete(id: number): Promise; } declare class SystemInfoResource { private client; constructor(client: ClientMethods); get(): Promise; getRoutes(): Promise; getDuplicateRoutes(): Promise; restart(): Promise; shutdown(): Promise; /** * Simple health check - returns "Pong" */ ping(): Promise; } declare class HealthResource { private client; constructor(client: ClientMethods); getAll(): Promise; } declare class DiskSpaceResource { private client; constructor(client: ClientMethods); getAll(): Promise; } declare class TaskResource { private client; constructor(client: ClientMethods); getAll(): Promise; getById(id: number): Promise; } declare class BackupResource { private client; constructor(client: ClientMethods); getAll(): Promise; delete(id: number): Promise; restore(id: number): Promise; restoreUpload(formData: FormData): Promise; } declare class LogResource { private client; constructor(client: ClientMethods); get(options?: PaginationOptions): Promise>; getAll(options?: Omit): AsyncGenerator; getAllArray(options?: Omit): Promise; } declare class LogFileResource { private client; constructor(client: ClientMethods); getAll(): Promise; getUpdate(): Promise; /** * Download a specific log file's contents */ download(filename: string): Promise; /** * Download a specific update log file's contents */ downloadUpdate(filename: string): Promise; } declare class UpdateResource { private client; constructor(client: ClientMethods); getAll(): Promise; } interface SearchReleasesOptions { episodeId?: number; seriesId?: number; seasonNumber?: number; [key: string]: unknown; } declare class ReleaseResource { private client; constructor(client: ClientMethods); get(options?: SearchReleasesOptions): Promise; getById(id: number): Promise; download(release: { guid: string; indexerId: number; }): Promise; push(release: Release): Promise; } declare class ReleaseProfileResource { private client; constructor(client: ClientMethods); getAll(): Promise; getById(id: number): Promise; create(profile: Omit): Promise; update(id: number, profile: Partial & { id: number; }): Promise; delete(id: number): Promise; } declare class ImportListResource { private client; constructor(client: ClientMethods); getAll(): Promise; getById(id: number): Promise; create(list: Omit): Promise; update(id: number, list: Partial & { id: number; }, forceSave?: boolean): Promise; delete(id: number): Promise; bulkUpdate(lists: ImportListBulk): Promise; bulkDelete(ids: number[]): Promise; getSchema(): Promise; test(list: Partial): Promise; testAll(): Promise; } declare class ImportListConfigResource { private client; constructor(client: ClientMethods); get(): Promise; update(config: Partial & { id: number; }): Promise; } declare class ImportListExclusionResource { private client; constructor(client: ClientMethods); get(options?: PaginationOptions): Promise>; getAll(): Promise; getById(id: number): Promise; create(exclusion: Omit): Promise; update(id: number, exclusion: Partial & { id: number; }): Promise; delete(id: number): Promise; bulkCreate(exclusions: ImportListExclusion[]): Promise; bulkDelete(exclusions: ImportListExclusionBulk): Promise; } declare class NotificationResource { private client; constructor(client: ClientMethods); getAll(): Promise; getById(id: number): Promise; create(notification: Omit): Promise; update(id: number, notification: Partial & { id: number; }, forceSave?: boolean): Promise; delete(id: number): Promise; getSchema(): Promise; test(notification: Partial): Promise; testAll(): Promise; } declare class MetadataResource { private client; constructor(client: ClientMethods); getAll(): Promise; getById(id: number): Promise; create(metadata: Omit): Promise; update(id: number, metadata: Partial & { id: number; }, forceSave?: boolean): Promise; delete(id: number): Promise; getSchema(): Promise; test(metadata: Partial): Promise; testAll(): Promise; } interface GetBlocklistOptions extends PaginationOptions { seriesIds?: number[]; } declare class BlocklistResource { private client; constructor(client: ClientMethods); get(options?: GetBlocklistOptions): Promise>; getAll(options?: Omit): AsyncGenerator; getAllArray(options?: Omit): Promise; delete(id: number): Promise; bulkDelete(ids: number[]): Promise; } interface GetManualImportOptions { folder?: string; downloadId?: string; seriesId?: number; seasonNumber?: number; filterExistingFiles?: boolean; [key: string]: unknown; } declare class ManualImportResource { private client; constructor(client: ClientMethods); get(options?: GetManualImportOptions): Promise; process(imports: ManualImportReprocess[]): Promise; } declare class ParseResource { private client; constructor(client: ClientMethods); get(title: string): Promise; } declare class HostConfigResource { private client; constructor(client: ClientMethods); get(): Promise; update(config: Partial & { id: number; }): Promise; } declare class UiConfigResource { private client; constructor(client: ClientMethods); get(): Promise; update(config: Partial & { id: number; }): Promise; } declare class NamingConfigResource { private client; constructor(client: ClientMethods); get(): Promise; update(config: Partial & { id: number; }): Promise; getExamples(options?: { id?: number; renameEpisodes?: boolean; replaceIllegalCharacters?: boolean; multiEpisodeStyle?: number; standardEpisodeFormat?: string; dailyEpisodeFormat?: string; animeEpisodeFormat?: string; seriesFolderFormat?: string; seasonFolderFormat?: string; specialsFolderFormat?: string; }): Promise; } declare class MediaManagementConfigResource { private client; constructor(client: ClientMethods); get(): Promise; update(config: Partial & { id: number; }): Promise; } declare class DelayProfileResource { private client; constructor(client: ClientMethods); getAll(): Promise; getById(id: number): Promise; create(profile: Omit): Promise; update(id: number, profile: Partial & { id: number; }): Promise; delete(id: number): Promise; reorder(id: number, afterId?: number): Promise; } declare class RemotePathMappingResource { private client; constructor(client: ClientMethods); getAll(): Promise; getById(id: number): Promise; create(mapping: Omit): Promise; update(id: number, mapping: Partial & { id: number; }): Promise; delete(id: number): Promise; } declare class AutoTaggingResource { private client; constructor(client: ClientMethods); getAll(): Promise; getById(id: number): Promise; create(autoTagging: Omit): Promise; update(id: number, autoTagging: Partial & { id: number; }): Promise; delete(id: number): Promise; getSchema(): Promise; } declare class LanguageResourceApi { private client; constructor(client: ClientMethods); getAll(): Promise; getById(id: number): Promise; } declare class LanguageProfileResource { private client; constructor(client: ClientMethods); getAll(): Promise; getById(id: number): Promise; getSchema(): Promise; } declare class LocalizationResource { private client; constructor(client: ClientMethods); get(): Promise; getLanguages(): Promise; } declare class CustomFilterResource { private client; constructor(client: ClientMethods); getAll(): Promise; getById(id: number): Promise; create(filter: Omit): Promise; update(id: number, filter: Partial & { id: number; }): Promise; delete(id: number): Promise; } declare class SeasonPassResource { private client; constructor(client: ClientMethods); update(seasonPass: SeasonPass): Promise; } interface GetWantedOptions extends PaginationOptions { includeSeries?: boolean; includeEpisodeFile?: boolean; includeImages?: boolean; monitored?: boolean; } declare class WantedResource { private client; constructor(client: ClientMethods); /** * Get episodes that don't meet quality cutoff */ cutoff(options?: GetWantedOptions): Promise>; /** * Get all episodes not meeting quality cutoff (async generator) */ cutoffAll(options?: Omit): AsyncGenerator; /** * Get all episodes not meeting quality cutoff as array */ cutoffAllArray(options?: Omit): Promise; /** * Get missing episodes */ missing(options?: GetWantedOptions): Promise>; /** * Get all missing episodes (async generator) */ missingAll(options?: Omit): AsyncGenerator; /** * Get all missing episodes as array */ missingAllArray(options?: Omit): Promise; } interface FileSystemEntry { type: 'file' | 'folder' | 'drive'; name: string; path: string; size?: number; lastModified?: string; } interface GetFileSystemOptions { path: string; includeFiles?: boolean; allowFoldersWithoutTrailingSlashes?: boolean; [key: string]: unknown; } declare class FileSystemResource { private client; constructor(client: ClientMethods); /** * Browse the filesystem at the given path */ get(options: GetFileSystemOptions): Promise; /** * Get the type of a path (file, folder, etc.) */ getType(path: string): Promise<{ type: string; }>; /** * Get media files in a directory */ getMediaFiles(path: string): Promise; } declare class MediaCoverResource { private client; constructor(client: ClientMethods); /** * Get a media cover image as binary data * @param seriesId The series ID * @param filename The cover filename (e.g., "poster.jpg", "banner.jpg", "fanart.jpg") * @returns ArrayBuffer containing the image data */ get(seriesId: number, filename: string): Promise; /** * Get a poster image for a series */ getPoster(seriesId: number): Promise; /** * Get a banner image for a series */ getBanner(seriesId: number): Promise; /** * Get a fanart image for a series */ getFanart(seriesId: number): Promise; /** * Get a cover image by type * @param seriesId The series ID * @param coverType The type of cover to retrieve */ getByType(seriesId: number, coverType: MediaCoverTypes): Promise; } declare class SonarrClient extends BaseClient { readonly series: SeriesResource; readonly episode: EpisodeResource; readonly episodeFile: EpisodeFileResource; readonly renameEpisode: RenameEpisodeResource; readonly calendar: CalendarResource; readonly command: CommandResource_; readonly queue: QueueResource; readonly history: HistoryResource; readonly qualityProfile: QualityProfileResource; readonly qualityDefinition: QualityDefinitionResource; readonly customFormat: CustomFormatResource; readonly downloadClient: DownloadClientResource; readonly downloadClientConfig: DownloadClientConfigResource; readonly indexer: IndexerResource; readonly indexerConfig: IndexerConfigResource; readonly indexerFlag: IndexerFlagResource; readonly tag: TagResource; readonly tagDetails: TagDetailsResource; readonly rootFolder: RootFolderResource; readonly system: SystemInfoResource; readonly health: HealthResource; readonly diskSpace: DiskSpaceResource; readonly task: TaskResource; readonly backup: BackupResource; readonly log: LogResource; readonly logFile: LogFileResource; readonly update: UpdateResource; readonly release: ReleaseResource; readonly releaseProfile: ReleaseProfileResource; readonly importList: ImportListResource; readonly importListConfig: ImportListConfigResource; readonly importListExclusion: ImportListExclusionResource; readonly notification: NotificationResource; readonly metadata: MetadataResource; readonly blocklist: BlocklistResource; readonly manualImport: ManualImportResource; readonly parse: ParseResource; readonly hostConfig: HostConfigResource; readonly uiConfig: UiConfigResource; readonly namingConfig: NamingConfigResource; readonly mediaManagementConfig: MediaManagementConfigResource; readonly delayProfile: DelayProfileResource; readonly remotePathMapping: RemotePathMappingResource; readonly autoTagging: AutoTaggingResource; readonly language: LanguageResourceApi; readonly languageProfile: LanguageProfileResource; readonly localization: LocalizationResource; readonly customFilter: CustomFilterResource; readonly seasonPass: SeasonPassResource; readonly wanted: WantedResource; readonly filesystem: FileSystemResource; readonly mediaCover: MediaCoverResource; constructor(config: ClientConfig); } export { type AddSeriesOptions, type AlternateTitle, type ApplyTags, type AutoTagging, type AutoTaggingSpecificationSchema, type Backup, type BackupType, type Blocklist, type BlocklistBulk, type BlocklistPagingResource, type CalendarFeedOptions, type CalendarOptions, ClientConfig, type Command, type CommandPriority, type CommandResource, type CommandResult, type CommandStatus, type CommandTrigger, type CustomFilter, type CustomFormat, type CustomFormatBulk, type CustomFormatSpecificationSchema, type DelayProfile, type DeleteQueueOptions, type DeleteSeriesOptions, type DiskSpace, type DownloadClient, type DownloadClientBulk, type DownloadClientConfig, type DownloadProtocol, type Episode, type EpisodeFile, type EpisodeFileList, type EpisodeHistoryEventType, type EpisodePagingResource, type EpisodesMonitored, type Field, type FileSystemEntry, type GetBlocklistOptions, type GetEpisodesOptions, type GetFileSystemOptions, type GetHistoryOptions, type GetManualImportOptions, type GetQueueDetailsOptions, type GetQueueOptions, type GetSeriesOptions, type GetWantedOptions, type Health, type HealthCheckResult, type History, type HistoryPagingResource, type HostConfig, type ImportList, type ImportListBulk, type ImportListConfig, type ImportListExclusion, type ImportListExclusionBulk, type ImportListExclusionPagingResource, type Indexer, type IndexerBulk, type IndexerConfig, type IndexerFlag, type Language, type LanguageProfile, type LanguageProfileItem, type LanguageResource, type Localization, type LocalizationLanguage, type Log, type LogFile, type LogPagingResource, type ManualImport, type ManualImportReprocess, type MediaCover, type MediaCoverTypes, type MediaInfo, type MediaManagementConfig, type Metadata, type MonitorTypes, type NamingConfig, type NewItemMonitorTypes, type Notification, type Parse, type ProfileFormatItem, type ProviderMessage, type Quality, type QualityDefinition, type QualityDefinitionLimits, type QualityModel, type QualityProfile, type QualityProfileQualityItem, type Queue, type QueueBulk, type QueuePagingResource, type QueueStatus, type Ratings, type Release, type ReleaseEpisode, type ReleaseProfile, type ReleaseType, type RemotePathMapping, type RenameEpisode, type RootFolder, type SearchReleasesOptions, type Season, type SeasonPass, type SeasonPassSeries, type SeasonStatistics, type SelectOption, type Series, type SeriesEditor, type SeriesStatistics, type SeriesType, SonarrClient, type SonarrCommand, type SonarrManualImportFile, type SortDirection, type SystemResource, type Tag, type TagDetails, type Task, type UiConfig, type Update };