import { Response } from 'got'; import scrapeIt from "scrape-it"; import * as helper from './utils/helper.js'; import { CookieJar } from 'tough-cookie'; import { UrlResolverOptions } from './UrlResolverOptions.js'; import { UrlResolver } from './UrlResolver.js'; export declare abstract class BaseUrlResolver { protected domains: RegExp[]; protected gotInstance: import("got").Got; protected _speedRank: number; protected useCookies: boolean; protected scrapeItAsync: typeof scrapeIt; protected scrapeHtml: typeof scrapeIt.scrapeHTML; protected _cookieJar?: CookieJar; protected defaultUserAgent: string; protected _resolverOptions?: Partial; protected _context?: UrlResolver; protected getSecondLevelDomain: (someUrl: string) => string | null; protected isValidHttpUrl: (someUrl: string) => boolean; protected getHiddenForm: (html: string, ix?: number) => Record | undefined; protected scrapeLinkHref: (html: string, selector: string) => string; protected scrapePageTitle: (html: string) => string; protected scrapeInnerText: (html: string, selector: string) => string; protected parseAllLinks: (html: string, context: string, baseUrl?: string) => helper.ScrapedAnchorElement[]; protected parseElementAttributes: (html: string, context: string, attribute: string) => string[]; protected extractFileNameFromUrl: (someUrl: string) => string; protected wait: (ms: number) => Promise; protected nodeatob: (str: string) => string; protected nodebtoa: (str: string) => string; protected getServerPublicIp: () => Promise; protected parseScripts: (html: string, context?: string) => string[]; protected scrapeAllLinks(html: string, context: string, baseUrl?: string): ResolvedMediaItem[]; constructor(options: BaseResolverOptions); /** * @param {string} urlToResolve * Override this method if you want to implement can resolve function */ canResolve(urlToResolve: string): Promise; /** * * @param {string} urlToResolve */ resolve(urlToResolve: string, options: Partial, context?: UrlResolver): Promise; private massageResolveResults; private fillMetaInfoInner; fillMetaInfo(resolveMediaItem: ResolvedMediaItem): Promise; private setupEnvironment; abstract resolveInner(_urlToResolve: string): Promise; protected postHiddenForm(urlToPost: string, page: string, ix?: number, resolveBody?: true, followRedirect?: boolean): Promise; protected postHiddenForm(urlToPost: string, page: string, ix?: number, resolveBody?: false, followRedirect?: boolean): Promise>; } export interface ResolvedMediaItem { title: string; poster: string; isPlayable: boolean; link: string; parent: string; headers: Record; size?: string; lastModified?: string; contentType?: string; speedRank: number; } export interface BaseResolverOptions { domains: RegExp[]; useCookies?: boolean; speedRank?: number; } export declare class GenericFormBasedResolver extends BaseUrlResolver { private _selector; private _formIx; constructor(options: BaseResolverOptions, selector: string, formIx?: number); resolveInner(_urlToResolve: string): Promise; }