import type { ConfigSecretHit, SecretScan } from "./scan.js"; /** * Agent read-deny rules merged into `.claude/settings.json`. Kept as constants so * the plan and its golden tests share one source of truth, and so a future * `permissions.deny` union (see internals/merge `unionUnique`) accumulates these * exact strings instead of duplicating near-misses. */ export declare const DENY_ENV = "Read(./.env*)"; export declare const DENY_SECRETS = "Read(./secrets/**)"; /** The `permissions.deny` payload, in deny-rule order, for the settings merge. */ export declare const DENY_RULES: readonly string[]; /** Structured value handed to `writeJson(..., { merge: true })`. */ export declare function settingsDenyPatch(): { permissions: { deny: string[]; }; }; /** * `.claudeignore` body — a coarse, tool-agnostic backstop to the settings deny * rules. Lists the same plaintext-secret surfaces so an agent that honors the * ignore file never even enumerates them. Deterministic, single trailing newline. */ export declare function claudeIgnore(): string; /** * Dynamic-vault-injection guidance. Cloud/secret-manager setup is DOC ONLY — we * never connect to a vault or fetch a credential. The example execution hook * shows how to pull a SHORT-LIVED token at runtime so nothing is ever written to * disk in plaintext. `contextDir` routes the reader back to the canonical rules. */ export declare function vaultGuidance(contextDir: string): string; /** * Warning emitted only when the scan found plaintext secret files already on * disk. Lists each offending path and tells the operator to migrate it into a * vault and delete the plaintext copy. Deterministic ordering from the scan. */ export declare function exposureWarning(scan: SecretScan): string; /** * Warning emitted when the content scan found a hardcoded secret or unsafe MCP * config path (`.mcp.json` et al.). Names each file + key + match kind — never the * secret value — and points to the sanctioned env-reference form. Deterministic ordering. */ export declare function configExposureWarning(hits: ConfigSecretHit[]): string;