import { type CloseArgs, type ConnectArgs, EngineAbc, type EngineAbcConfig, type RpcArgs } from "@tai-kun/surrealdb/engine";
import type { IdLessRpcResponse } from "@tai-kun/surrealdb/types";
export interface HttpFetcherRequestInit {
    method: "POST";
    headers: {
        "Content-Type": string;
        "Surreal-DB"?: string;
        "Surreal-NS"?: string;
        Accept: string;
        Authorization?: `Bearer ${string}`;
    };
    body: string | Uint8Array;
    signal: AbortSignal;
}
export type HttpFetcher = (input: string, init: HttpFetcherRequestInit) => PromiseLike<Response>;
export interface HttpEngineConfig extends EngineAbcConfig {
    readonly fetch?: HttpFetcher | undefined;
}
export default class HttpEngine extends EngineAbc {
    readonly name = "http";
    protected vars: Record<string, unknown>;
    protected fetch: HttpFetcher;
    constructor(config: HttpEngineConfig);
    connect({ endpoint, signal }: ConnectArgs): Promise<void>;
    close({ signal }: CloseArgs): Promise<void>;
    rpc({ request, signal }: RpcArgs): Promise<IdLessRpcResponse>;
}
//# sourceMappingURL=engine.d.ts.map