/** * Internal: set the public-env literal. The web codegen calls this from the * generated entry so SSR and the browser share one install path. App code * does not call this. */ export declare const __installPublicEnv: (values: Readonly>) => void; declare const PUBLIC_ENV_BRAND: unique symbol; /** * The typed public env accessor. The framework's web codegen augments this * interface (in `src/voltro-env.d.ts`) with the declared PUBLIC keys, so * `publicEnv.SENTRY_DSN` autocompletes to the declared type — and naming a * SECRET or undeclared key is a **compile error** (it is not in the augmented * surface; there is deliberately NO permissive index signature). Before the * codegen has run (a fresh checkout, pre-`voltro dev`), no public keys are * known yet — run `voltro dev` to generate the augmentation, like * `rpcGroup.generated.ts`. * * The branded member is an internal augmentation anchor; it is never a real key. */ export declare interface PublicEnv { readonly [PUBLIC_ENV_BRAND]?: never; } /** * Read a PUBLIC env value in the browser. * * ```tsx * import { publicEnv } from '@voltro/env/public' * * ``` * * Returns the baked value, or `undefined` if the key was not declared * `access: 'public'` (e.g. read before the bundle set the literal, or a * typo). The interface augmentation makes valid keys autocomplete. */ export declare const publicEnv: PublicEnv; /** * The raw frozen public-env object (all public keys at once). Prefer * `publicEnv.KEY`; use this when you need to spread or iterate. */ export declare const publicEnvSnapshot: () => Readonly>; export { }