import { type CompanyTypes, ScraperProgressTypes } from '../definitions'; import { type Scraper, type ScraperCredentials, type ScraperGetLongTermTwoFactorTokenResult, type ScraperLoginResult, type ScraperOptions, type ScraperScrapingResult, type ScraperTwoFactorAuthTriggerResult } from './interface'; export declare class BaseScraper implements Scraper { options: ScraperOptions; private eventEmitter; constructor(options: ScraperOptions); initialize(): Promise; scrape(credentials: TCredentials): Promise; triggerTwoFactorAuth(_phoneNumber: string): Promise; getLongTermTwoFactorToken(_otpCode: string): Promise; protected login(_credentials: TCredentials): Promise; protected fetchData(): Promise; protected terminate(_success: boolean): Promise; protected emitProgress(type: ScraperProgressTypes): void; protected emit(eventName: string, payload: Record): void; onProgress(func: (companyId: CompanyTypes, payload: { type: ScraperProgressTypes; }) => void): void; }