import { Kv } from "./kv_types.js";
export * from "./napi_based.js";
export * from "./remote.js";
export * from "./in_memory.js";
export * from "./kv_types.js";
export { makeLimitedV8Serializer, UnknownV8 } from "./v8.js";
export type KvImplementation = "in-memory" | "sqlite" | "remote";
/**
 * Open a new {@linkcode Kv} connection to persist data.
 *
 * When an url is provided, this will connect to a remote [Deno Deploy](https://deno.com/deploy) database
 * or any other endpoint that supports the open [KV Connect](https://github.com/denoland/denokv/blob/main/proto/kv-connect.md) protocol.
 *
 * When a local path is provided, this will use a sqlite database on disk. Read and write access to the file is required.
 *
 * When no path is provided, this will use an ephemeral in-memory implementation.
 */
export declare function openKv(path?: string, opts?: Record<string, unknown> & {
    debug?: boolean;
    implementation?: KvImplementation;
}): Promise<Kv>;
