import type { RequestResult } from "../../platform/web/dom/request/fetch.js"; import type { ILogItem } from "../../logging/types"; export interface IHomeServerRequest { abort(): void; response(): Promise; responseCode(): Promise; } type HomeServerRequestOptions = { log?: ILogItem; allowedStatusCodes?: number[]; }; export declare class HomeServerRequest implements IHomeServerRequest { private readonly _log?; private _sourceRequest?; private readonly _promise; constructor(method: string, url: string, sourceRequest: RequestResult, options?: HomeServerRequestOptions); abort(): void; response(): Promise; responseCode(): Promise; } export declare function tests(): { "Response is passed through": (assert: any) => Promise; "Unexpected AbortError is mapped to ConnectionError": (assert: any) => Promise; "500 response is mapped to ConnectionError": (assert: any) => Promise; "4xx response is mapped to HomeServerError": (assert: any) => Promise; "4xx response without errcode is mapped to ConnectionError": (assert: any) => Promise; "Other errors are passed through": (assert: any) => Promise; }; export {};