/** * Bounded, immutable project-environment snapshots. * * Environment values cross an authenticated API boundary before they are * exposed to config evaluation and isolated project workers. Keep the shape * deliberately narrower than a generic JavaScript record: enumerable string * data properties only, with no inherited state or accessors. * * @module server/project-env/snapshot */ import { type ProjectEnvSnapshot } from "../../platform/compat/process/project-env-contract.js"; export { PROJECT_ENV_SNAPSHOT_LIMITS, type ProjectEnvSnapshot, } from "../../platform/compat/process/project-env-contract.js"; /** Stable rejection reasons for project-environment boundary failures. */ export type ProjectEnvSnapshotErrorCode = "accessor-property" | "duplicate-key" | "inspection-failed" | "invalid-key" | "invalid-prototype" | "invalid-value" | "max-entries-exceeded" | "max-key-length-exceeded" | "max-total-bytes-exceeded" | "max-value-length-exceeded" | "non-enumerable-property" | "symbol-key"; /** Error raised when an environment value is unsafe or exceeds its budget. */ export declare class ProjectEnvSnapshotError extends TypeError { readonly code: ProjectEnvSnapshotErrorCode; constructor(code: ProjectEnvSnapshotErrorCode, reason: string); } /** * Copy a project environment into a sorted, frozen, null-prototype record. * * Property descriptors are inspected without reading property values through * ordinary access, so getters are rejected without invocation. */ export declare function createProjectEnvSnapshot(value: unknown): ProjectEnvSnapshot; //# sourceMappingURL=snapshot.d.ts.map