import { CrawlTarget, Browser } from 'test-crawler-core'; import { Push } from 'test-crawler-cli'; import { Job } from '../../typing'; export abstract class Storage { abstract get browsers(): Browser[]; abstract info(): Promise; abstract image(path: string): Promise; abstract blob(path: string): Promise; abstract repos(): Promise; abstract getRepo(): Promise; abstract read(path: string): Promise; abstract readJSON(path: string): Promise; abstract readdir(path: string): Promise; abstract saveJSON(file: string, data: any): Promise; abstract saveFile(file: string, data: string): Promise; abstract copy(src: string, dst: string): Promise; abstract copyBlob(src: string, dst: string): Promise; abstract remove(file: string): Promise; abstract crawl( crawlTarget?: CrawlTarget, push?: Push, browser?: Browser, ): Promise; abstract jobs(projectId: string): Promise; }