import type { ProjectEnvSnapshot } from "./project-env-contract.js"; export type EnvOverlayStorage = { getStore: () => unknown; run?: (store: unknown, fn: () => T) => T; enterWith?: (store: unknown) => void; }; /** Read and write process environment variables. */ export declare function env(): Record; /** * Read outside the project snapshot. Test overlays require a captured host DENO_TESTING=1. * Tenant project scopes and later global mutations cannot shadow this read. */ export declare function getHostEnv(key: string): string | undefined; /** * Register the server-owned project environment snapshot bridge. * * Kept out of the public process barrel so project code cannot replace the * callback through a supported package export. Re-registering a different * function is rejected rather than silently widening an isolation boundary. * * Registering the bridge also installs the matching view over `process.env`, so * the raw environment object and `getEnv()` are scoped by the same act and * cannot drift apart. */ export declare function registerTrustedProjectEnvSnapshot(getter: () => ProjectEnvSnapshot | undefined): void; /** Return the active server-owned project env snapshot, if registered. */ export declare function getTrustedProjectEnvSnapshot(): ProjectEnvSnapshot | undefined; /** Read an environment variable from the active project scope. */ export declare function getEnv(key: string): string | undefined; export interface EnvBooleanOptions { trueValues?: readonly string[]; falseValues?: readonly string[]; trim?: boolean; caseSensitive?: boolean; } export declare function getEnvString(key: string): string | undefined; export declare function getEnvString(key: string, fallback: string): string; export declare function getEnvNumber(key: string): number | undefined; export declare function getEnvNumber(key: string, fallback: number): number; export declare function getEnvBoolean(key: string, fallback?: boolean, options?: EnvBooleanOptions): boolean; /** Sets env. */ export declare function setEnv(key: string, value: string): void; /** Delete a process environment variable. */ export declare function deleteEnv(key: string): void; /** * Get an AsyncLocalStorage-based env overlay storage if installed. * This enables per-async-context env isolation (e.g., in tests). */ export declare function getEnvOverlayStorage(): EnvOverlayStorage | null; //# sourceMappingURL=env.d.ts.map