import { BaseParser } from "./base-parser.js"; import type { DateTime } from "luxon"; import type { Page } from "puppeteer"; import type { EpisodeContext, EpisodeMetadata } from "./episode-parser.js"; export declare abstract class SpaParser extends BaseParser { onPageLoad(page: Page, meta: EpisodeMetadata, ctx: EpisodeContext): Promise; getTitle(page: Page, meta: EpisodeMetadata, ctx: EpisodeContext): Promise; getDescription(page: Page, meta: EpisodeMetadata, ctx: EpisodeContext): Promise; getImageUrls(page: Page, meta: EpisodeMetadata, ctx: EpisodeContext): Promise; abstract getUrl(meta: EpisodeMetadata, ctx: EpisodeContext): Promise; abstract getSortTitle(title: string, page: Page, meta: EpisodeMetadata, ctx: EpisodeContext): Promise; abstract getAirDate(page: Page, meta: EpisodeMetadata, ctx: EpisodeContext): Promise; abstract selectRoot(document: Document, meta: EpisodeMetadata): Promise; abstract selectTitle(root: T, meta: EpisodeMetadata): Promise; abstract selectDescription(root: T, meta: EpisodeMetadata): Promise; abstract selectImageUrls(root: T, meta: EpisodeMetadata): Promise; } declare global { interface Window { selectRoot: (document: Document, meta: EpisodeMetadata) => Promise; selectTitle: (document: HTMLElement, meta: EpisodeMetadata) => Promise; selectDescription: (document: HTMLElement, meta: EpisodeMetadata) => Promise; selectImageUrls: (document: HTMLElement, meta: EpisodeMetadata) => Promise; } }