/** A read-only environment record (process.env, or a Worker `env` binding). */
export type EnvRecord = Record<string, string | undefined>;
/**
 * The public origin a platform-as-a-service injects for this deployment, e.g.
 * Railway's `RAILWAY_PUBLIC_DOMAIN`. Ordering mirrors `@t3-oss/env-core`'s
 * `getPlatformOrigin` preset (MIT) — all platform-SET (not client-set) values,
 * so building absolute URLs from them is safe. Returns an origin (`https://host`,
 * no trailing slash) or undefined. The generic `PUBLIC_URL`/`APP_URL` from that
 * preset are deliberately omitted: `PUBLIC_URL` is a *path* in some toolchains
 * (CRA), not an origin. Cloudflare Workers receive none of these, so it returns
 * undefined there — expected; the Worker falls back to its own request origin.
 */
export declare const getPlatformOrigin: (env: EnvRecord) => string | undefined;
/**
 * Resolve a deployment's pinned public origin: an explicit operator-set value
 * wins, else a platform-injected origin, else undefined (the caller supplies its
 * own fallback — a `localhost:PORT` for a Node host, a production constant or the
 * per-request origin for a Worker — and decides whether to warn).
 */
export declare const resolvePublicOrigin: (options: {
    readonly explicit?: string | undefined;
    readonly env: EnvRecord;
}) => string | undefined;
/**
 * True unless this is explicitly local dev or a test run. A staging/demo deploy
 * often leaves `NODE_ENV` unset, and silently using a localhost fallback there is
 * the footgun we want surfaced — so warn by default.
 */
export declare const shouldWarnMissingPublicOrigin: (nodeEnv: string | undefined) => boolean;
/** The one-time warning shown when a host falls back for its public origin. */
export declare const missingPublicOriginWarning: (options: {
    readonly varName: string;
    readonly fallback: string;
}) => string;
//# sourceMappingURL=public-origin.d.ts.map