import type { Metadata } from '@devvit/protos';
import { type FetchRequest, FetchResponse, type HTTP as _HTTP } from '@devvit/protos/types/devvit/plugin/http/http.js';
import type { Namespace } from '@devvit/shared-types/Namespace.js';
export declare abstract class HTTP implements _HTTP {
    #private;
    constructor(aFetchImpl: Function, namespace: Readonly<Namespace>);
    protected abstract assertEnvironment(): void | never;
    Fetch(request: FetchRequest, metadata: Metadata | undefined): Promise<FetchResponse>;
}
//# sourceMappingURL=BaseHttp.d.ts.map