import { RequestContext } from "../context/request-context"; export declare class EngineAbortPromise { abort: () => void; promise: Promise; then: Promise["then"]; catch: Promise["catch"]; finally: Promise["finally"]; constructor(executor: (resolve: (value: T | PromiseLike) => void, reject: (reason?: any) => void) => void, abort: () => void); } export declare abstract class Engine { static EngineAbortPromise: typeof EngineAbortPromise; abstract doRequest(requestContext: RequestContext): Promise | EngineAbortPromise; abstract doResponse(response: Response, requestContext: RequestContext): Promise<{ ok: boolean; status: string | number; statusText: string; result: any; }>; }