import { PsnpEntity } from './psnpEntity.js'; import type { TrophyCount } from './common.js'; import type { StackAbbr, PlatformTag, PlayableGame, GameListing, GameBase, CompletionStatus } from './game.interface.js'; import { type PsnpPageType } from '../util/psnp/pageType.js'; export declare class PsnpGameBase extends PsnpEntity implements GameBase { platforms: PlatformTag[]; stackLabel?: StackAbbr | null; trophyCount?: TrophyCount; numTrophies?: number; points?: number; get url(): string; get src(): string; constructor(data: GameBase); /** * Given a PSNProfiles page type and document, returns matching game table rows. * @param pageType Type of PSNProfiles page * @param doc Document to parse nodes from */ static getGameNodes(pageType: PsnpPageType, doc: Document): HTMLTableRowElement[]; } export declare class PsnpGameListing extends PsnpGameBase implements GameListing { stackLabel: StackAbbr | null; trophyCount: TrophyCount; numTrophies: number; points: number; numOwners: number; constructor(data: GameListing); } export declare class PsnpPlayableGame extends PsnpGameBase implements PlayableGame { stackLabel: StackAbbr | null; trophyCount: TrophyCount; numTrophies: number; points: number; rarityBase: number; rarityDlc?: number | undefined; percent?: number | undefined; completionStatus?: CompletionStatus | undefined; completionSpeed?: number | undefined; completionRank?: string | undefined; latestTrophy?: number | undefined; constructor(data: PlayableGame); }