/**
 * env: + .env file backend for the secrets resolver.
 *
 * Resolution order on first call (lazy + cached for the process lifetime):
 *   1. Snapshot `process.env`.
 *   2. If `opts.path` provided, parse the .env file and merge MISSING keys.
 *      Existing process.env keys WIN — never overwritten by .env.
 *   3. ENOENT on the .env file is silently OK (file is optional).
 *
 * Parse format (intentionally minimal — sufficient for Phase 1):
 *   - Match `^([A-Z_][A-Z0-9_]*)\s*=\s*(.*)$`
 *   - Strip a single pair of surrounding double-quotes.
 *   - Skip blank lines, comments (`#`), and any non-matching line.
 *   - dotenv v16 multiline `KEY="line1\nline2"` is NOT expanded here
 *     (see Phase 1 post-research note in src/secrets/resolver.test.ts).
 *
 * Imports from: node:fs/promises, ../types.js.
 * Imported by: src/secrets/index.ts.
 */
import type { SecretBackend } from '../types.js';
export interface DotenvBackendOptions {
    /** Optional absolute path to a .env file. If unset, only process.env is consulted. */
    path?: string;
}
export declare function dotenvBackend(opts?: DotenvBackendOptions): SecretBackend;
//# sourceMappingURL=dotenv.d.ts.map