import { Schema, SchemaAST } from "effect"; export declare const ENV_PATTERN = "^env\\((.*)\\)$"; export declare const ENV_CAPTURE_REGEX: RegExp; export declare const ENV_CAPTURE_REGEX_STRICT: RegExp; export declare function isEnvReference(value: string, goViperCompat: boolean): boolean; interface EnvAnnotations extends Schema.Annotations.Documentation { readonly secret?: true; } export declare const env: (annotations?: EnvAnnotations) => Schema.String; interface SecretAnnotations extends Schema.Annotations.Documentation { } export declare const secret: (annotations?: SecretAnnotations) => Schema.String; /** * Substitutes `env(VAR)` references against `env` and coerces the result to the schema's * expected primitive type at each path. A set-but-empty variable leaves the literal untouched, * same as an unset one. Returns a new structure; does not mutate the input. */ export declare function interpolateEnvReferencesAgainstSchema(document: unknown, env: Readonly>, schema: { readonly ast: SchemaAST.AST; }, options?: { readonly goViperCompat?: boolean; /** Fires per resolved leaf with the substituting env vars' names (array * leaves report once at the array path, collecting every element's * variable — one array literal may draw on several). */ readonly onResolvedEnv?: (path: ReadonlyArray, envNames: ReadonlyArray) => void; }): unknown; export {}; //# sourceMappingURL=env.d.ts.map