/** True iff `absPath` falls under a sensitive prefix or has a
 *  sensitive basename. */
export declare function isSensitivePath(p: string, opts?: {
    cwd?: string;
}): {
    sensitive: boolean;
    reason?: string;
};
/** Decide whether a tool call should be hard-denied because it
 *  targets sensitive state. Returns `{deny: true, reason}` when so;
 *  otherwise `{deny: false}`. Caller (approval-bus) should still
 *  honour its normal flow on `deny: false` — this is a strict
 *  pre-filter, not a complete approval policy. */
export declare function checkSensitiveToolUse(toolName: string, input: Record<string, unknown> | undefined): {
    deny: boolean;
    reason?: string;
};
export interface ScrubResult {
    text: string;
    /** Sorted list of secret-pattern names that matched, deduplicated.
     *  Caller (outbox) can use this to emit a single audit event with
     *  the categories of redactions without disclosing the secrets. */
    redactedKinds: string[];
}
/** Replace every secret-shaped substring in `text` with [REDACTED-<name>].
 *  Idempotent (running twice produces the same output). */
export declare function scrubOutboundText(text: string): ScrubResult;
//# sourceMappingURL=sensitive-paths.d.ts.map