import type { KVNamespace } from "@cloudflare/workers-types";
import type { Context } from "hono";
import { cacheHeader } from "pretty-cache-header";
import { type CookieOptions, type SessionData } from "react-router";
interface StaticAssetsOptions {
    cache?: Parameters<typeof cacheHeader>[0];
}
export declare function staticAssets(options?: StaticAssetsOptions): import("hono").MiddlewareHandler<any, string, {}>;
type WorkerKVBindingsObject<KV extends string, Secret extends string> = {
    [K in KV | Secret]: K extends KV ? KVNamespace : string;
};
type GetWorkerKVSecretsFunction<KV extends string, Secret extends string> = (c: Context<{
    Bindings: WorkerKVBindingsObject<KV, Secret>;
}>) => string[];
export declare function workerKVSession<KVBinding extends string, SecretBinding extends string, Data = SessionData, FlashData = Data>(options: {
    autoCommit?: boolean;
    cookie: Omit<CookieOptions, "secrets"> & {
        name: string;
        secrets: GetWorkerKVSecretsFunction<KVBinding, SecretBinding>;
    };
    binding: KVBinding;
}): import("hono").MiddlewareHandler<{
    Variables: Record<symbol, unknown>;
}, string, {}>;
type CookieBindingsObject<Secret extends string> = {
    [K in Secret]: string;
};
type GetCookieSecretsFunction<Secret extends string> = (c: Context<{
    Bindings: CookieBindingsObject<Secret>;
}>) => string[];
export declare function cookieSession<SecretBinding extends string, Data = SessionData, FlashData = Data>(options: {
    autoCommit?: boolean;
    cookie: Omit<CookieOptions, "secrets"> & {
        name: string;
        secrets: GetCookieSecretsFunction<SecretBinding>;
    };
}): import("hono").MiddlewareHandler<{
    Variables: Record<symbol, unknown>;
}, string, {}>;
export {};
