import type { CloudflareBkndConfig, CloudflareEnv } from ".";
import { App } from "../..";
import type { Context as HonoContext, ExecutionContext } from "hono";
export declare const constants: {
    exec_async_event_id: string;
    cache_endpoint: string;
    do_endpoint: string;
    d1_session: {
        cookie: string;
        header: string;
    };
};
export type CloudflareContext<Env extends CloudflareEnv = CloudflareEnv> = {
    env: Env;
    ctx: ExecutionContext;
    request: Request;
};
export declare function d1SessionHelper(config: CloudflareBkndConfig<any>): {
    get: (request?: Request) => D1SessionBookmark | undefined;
    set: (c: HonoContext, d1?: D1DatabaseSession) => void;
};
export declare function makeConfig<Env extends CloudflareEnv = CloudflareEnv>(config: CloudflareBkndConfig<Env>, args?: Partial<CloudflareContext<Env>>): Promise<Omit<import("../..").Merge<import("../..").CreateAppConfig & Omit<{}, "app"> & {
    app?: Omit<import("../..").Merge<import("../..").CreateAppConfig & Omit<{}, "app"> & /*elided*/ any>, "app"> | ((args: Env) => import("../..").MaybePromise<Omit<import("../..").Merge<import("../..").CreateAppConfig & Omit<{}, "app"> & /*elided*/ any>, "app">>) | undefined;
    onBuilt?: (app: App) => import("../..").MaybePromise<void>;
    beforeBuild?: (app?: App, registries?: {
        readonly media: import("../../core/registry/Registry").Registry<{
            cls: import("../../core/registry/Registry").Constructor<import("../..").StorageAdapter> & {
                prototype: import("../..").StorageAdapter;
            };
            schema: import("jsonv-ts").Schema;
        }, Record<string, {
            cls: import("../../core/registry/Registry").Constructor<import("../..").StorageAdapter> & {
                prototype: import("../..").StorageAdapter;
            };
            schema: import("jsonv-ts").Schema;
        }>, import("../../core/registry/Registry").RegisterFn<{
            cls: import("../../core/registry/Registry").Constructor<import("../..").StorageAdapter> & {
                prototype: import("../..").StorageAdapter;
            };
            schema: import("jsonv-ts").Schema;
        }>>;
    }) => import("../..").MaybePromise<void>;
    buildConfig?: Parameters<App["build"]>[0];
}>, "app">>;
export declare function registerAsyncsExecutionContext(app: App, ctx: {
    waitUntil: ExecutionContext["waitUntil"];
}): void;
