import { IHTTPRequest } from "./IHTTPRequest"; import { IHTTPResponse } from "./IHTTPResponse"; import { HTTPMethod } from "../core/HTTPMethod"; import { HTTPVersion } from "../core/HTTPVersion"; export interface IHTTPClient { request(request: IHTTPRequest): Promise; get(url: string, options?: any): Promise; post(url: string, options?: any): Promise; put(url: string, options?: any): Promise; patch(url: string, options?: any): Promise; delete(url: string, options?: any): Promise; head(url: string, options?: any): Promise; options(url: string, options?: any): Promise; login(url: string, credentials: any): Promise; logout(url: string, token?: string): Promise; refresh(url: string, refreshToken: string): Promise; sync(url: string, options: any): Promise; merge(url: string, options: any): Promise; stream(url: string, options?: any): Promise; upload(url: string, options: any): Promise; convert(url: string, options: any): Promise; archive(url: string, options?: any): Promise; audit(url: string, options?: any): Promise; verify(url: string, options: any): Promise; ping(url: string, options?: any): Promise; notify(url: string, options: any): Promise; undo(url: string, options?: any): Promise; close(): Promise; on(event: string, listener: Function): void; off(event: string, listener: Function): void; emit(event: string, data: any): void; getState(): any; getConfig(): any; setConfig(config: any): void; }