import * as t from "../types.js";
import { Effect, MaterializerHttpRequest } from "../gen/interfaces/metatype-typegraph-runtimes.js";
import { Runtime } from "./mod.js";
export declare class HttpRuntime extends Runtime {
    #private;
    endpoint: string;
    certSecret?: string | undefined;
    basicAuthSecret?: string | undefined;
    constructor(endpoint: string, certSecret?: string | undefined, basicAuthSecret?: string | undefined);
    get<P extends Record<string, t.Typedef> = Record<string, t.Typedef>, I extends t.Struct<P> = t.Struct<P>, O extends t.Typedef = t.Typedef>(inp: I, out: O, options: Omit<MaterializerHttpRequest, "method">): t.Func<P, I, O>;
    post<P extends Record<string, t.Typedef> = Record<string, t.Typedef>, I extends t.Struct<P> = t.Struct<P>, O extends t.Typedef = t.Typedef>(inp: I, out: O, options: Omit<MaterializerHttpRequest, "method">, effect?: Effect): t.Func<P, I, O>;
    put<P extends Record<string, t.Typedef> = Record<string, t.Typedef>, I extends t.Struct<P> = t.Struct<P>, O extends t.Typedef = t.Typedef>(inp: I, out: O, options: Omit<MaterializerHttpRequest, "method">, effect?: Effect): t.Func<P, I, O>;
    patch<P extends Record<string, t.Typedef> = Record<string, t.Typedef>, I extends t.Struct<P> = t.Struct<P>, O extends t.Typedef = t.Typedef>(inp: I, out: O, options: Omit<MaterializerHttpRequest, "method">, effect?: Effect): t.Func<P, I, O>;
    delete_<P extends Record<string, t.Typedef> = Record<string, t.Typedef>, I extends t.Struct<P> = t.Struct<P>, O extends t.Typedef = t.Typedef>(inp: I, out: O, options: Omit<MaterializerHttpRequest, "method">, effect?: Effect): t.Func<P, I, O>;
}
