import PocketBase from "pocketbase"; import { ExtendedRecordService } from "./record-service.js"; import { Collections } from "./type.js"; import type { Logger } from "pino"; import type { BaseAuthStore } from "pocketbase"; import type { BaseSystemFields, RoleJellyfinOptions, RoleResponse } from "./type.js"; export interface MediaDataHubOptions { authStore?: BaseAuthStore | null; baseUrl?: string; lang?: string; logger: Logger; } export interface UpdateStaffInput { actors: ([string, string, RoleJellyfinOptions] | [string, string])[]; countryId: string; movieId?: string; tvSeasonId?: string; tvSeriesId?: string; } export interface Staff { person: string; priority: number; role: RoleResponse; } export declare class MediaDataHub extends PocketBase { private services; readonly logger: Logger; constructor(opts: MediaDataHubOptions); c(name: `${C}`): ExtendedRecordService; getAdminThumbUrl(record: BaseSystemFields, fileName: string): string; f(template: TemplateStringsArray, ...params: unknown[]): string; private findOrCreatePerson; private findOrCreateRole; private findOrCreateTvSeriesStaff; private findOrCreateTvSeasonStaff; private findOrCreateMovieStaff; updateStaff(input: UpdateStaffInput): Promise; }