export declare function readEnvVariable(name: string): string | undefined;
/**
 * Recursively traverses an object or array and interpolates environment variables in all string values.
 * Keeps track of the path to each modified value and maintains a record of original and replaced values.
 *
 * @param obj - The object or array to process
 * @param currentPath - Array of keys representing current position in object tree
 *
 * @returns An object containing:
 *   - resolvedObj: The processed object with all environment variables replaced
 *   - unsetEnvVars: Array of environment variable names that were not found
 *   - interpolatedEnvVars: Array of environment variable names that were successfully resolved
 *   - replacedValues: Record of paths where values were replaced, with original and new values
 *
 * For usage examples and test cases, see:
 * [unit tests](./__tests__/env.test.ts)
 */
export declare function replaceEnvVariablesDeep<T extends Record<string, unknown> | Array<unknown>>(obj: T, currentPath?: string[]): {
    resolvedObj: T;
    unsetEnvVars: string[];
    interpolatedEnvVars: string[];
    replacedValues: Record<string, {
        original: string;
        replaced: string;
    }>;
};
/**
 * Interpolates environment variables in a string using the format {{ process.env.VARIABLE_NAME }}.
 *
 * @param value - The string containing environment variable templates to interpolate
 * @returns An object containing:
 *   - interpolatedValue: The string with all environment variables replaced with their values
 *   - unsetVars: Array of environment variable names that were not found
 *   - interpolatedVars: Array of environment variable names that were successfully resolved
 */
export declare function interpolateEnvVariables(value: string): {
    interpolatedValue: string;
    unsetVars: string[];
    interpolatedVars: string[];
};
export declare function writeEnvVariable(name: string, value: string | undefined | null): void;
export declare function getPublicEnvVariables(): Record<string, string>;
export declare function loadEnvironmentVariables(pathToEnvFile?: string): void;
export declare function isProductionMode(): boolean;
//# sourceMappingURL=env.d.ts.map