import { ITimeouts, WebDriver } from "selenium-webdriver"; export declare class MimeType { static readonly csv: string; static readonly json: string; static readonly txt: string; static readonly xls: string; static readonly pdf: string; } export interface HttpSourceSeleniumOptions { browser: string; timeout: ITimeouts; selector: string; } export interface HttpFetcher { fetch(url: URL, init?: RequestInit, resOut?: Partial, error?: HttpSourceError): Promise; } export interface HttpSourceOptions { selenium?: HttpSourceSeleniumOptions; fetchers: HttpFetcher[]; } export declare class HttpSourceError extends Error { readonly status: number; readonly statusText?: string; constructor(url: string, status: number, statusText?: string); } /** * A source for cases that can be fetched online. */ export declare class HttpSource { protected options: HttpSourceOptions; protected driver: WebDriver; constructor(options?: HttpSourceOptions); getDriver(): Promise; get(queryUrl: URL, init?: RequestInit, resOut?: Partial): Promise; fetch(url: URL, init?: RequestInit, resOut?: Partial): Promise; submitForm(url: URL, obj: object, headers?: {}): Promise; close(): Promise; }