/**
 * FR-093 (2026-06-09) — Universal secret/key masking utility (bedrock level).
 *
 * Lehetove teszi az ALL-FDP-systems-szintu secret-szivargas-detection +
 * maszkolas-t egy bedrock-szinten. A korabban Overseer / runner-worker
 * helyi util-jai (FR-092) most ezt importaljak — egy SOR konfiguracio +
 * find-and-replace.
 *
 * User feedback ('az osszes rendszerunknek a lenyege az univerzalizalt,
 * mindenhol hasznalhato, egysegesített megoldások'): every secret-pattern
 * ennek a egyetlen DyFM_SecretMask_Util-nak a felelossege.
 *
 * Strategy — KETTOS:
 *   1. **PATTERN-based**: ismert secret-formatumokra automatikus felismeres.
 *   2. **VALUE-based**: a process.env-jenek secret-erteket overlay-eli minden szovegben.
 *
 * Identifiability config (`DyFM_SecretMask_Settings.partialReveal`):
 *   - DEFAULT: `{ prefix: 4, suffix: 4 }` — a kulcsok elso 4 + utolso 4 char-ja
 *     megorzodik, kozeppe `[redacted-<KIND>]` keruln, pl.:
 *       `ghp_abcdefghij1234567890abcdefghij12345678` → `ghp_abcd...5678 [redacted-github-pat]`
 *   - User-extensible: csokkentett vagy 0-os reveal a tobb-biztonsagos
 *     deploymentekhez (`{ prefix: 0, suffix: 0 }` → tisztan opaque).
 *
 * Per memory `[[feedback_rich_error_handling]]`: a maszkolt token jelzes ne
 * legyen `***` opaque; legyen `[redacted-<KIND>]` hogy ranezessel lassuk MILYEN
 * tipusu szivargast szuntunk meg.
 *
 * Pattern-mapping per memory `[[feedback_individual_plans]]` — single source of
 * truth: minden uj secret-format hozzaadando a `DyFM_SECRET_PATTERNS` array-hez;
 * a tobbi rendszerben (Overseer/runner/bedrock packages) automatikusan
 * megjelenik a fsm-bump utan.
 */
export interface DyFM_SecretMask_PartialReveal_Interface {
    /** Megorzendo elso karakter-szam (0 = teljesen elrejt). */
    prefix: number;
    /** Megorzendo utolso karakter-szam (0 = teljesen elrejt). */
    suffix: number;
}
export interface DyFM_SecretMask_Settings_Interface {
    /**
     * Identifiability-controls. Default `{ prefix: 4, suffix: 4 }`. Beallitva
     * pl. `{ prefix: 0, suffix: 0 }` opaque maszkolas-hoz.
     */
    partialReveal: DyFM_SecretMask_PartialReveal_Interface;
    /**
     * Min karakter-hossz amire az env-overlay alkalmaz. Rovid ertekek false
     * positivot adnak (pl. `KEY=foo` ahol foo a project-name). Default: 8.
     */
    minEnvValueLength: number;
    /**
     * `process.env`-bol kulcsneveket szuro regex. Default match: minden olyan
     * env-var ahol a NEV titkos-jellegu (TOKEN/SECRET/KEY/PASSWORD/PAT/HMAC stb.).
     */
    envNameSecretRx: RegExp;
}
export declare const DyFM_DEFAULT_SECRET_MASK_SETTINGS: DyFM_SecretMask_Settings_Interface;
interface SecretPattern_Interface {
    /** Diagnosztikai cimke a `[redacted-<KIND>]` markerben. */
    kind: string;
    /** Detekcios regex (global flag is REQUIRED — a global flow minden match-et kezel). */
    regex: RegExp;
    /**
     * `redactWith` — meghivva minden match-re a "matched" stringgel + settings-szel.
     * Visszaad a csere-string-et. Default: partial-reveal-szel `<prefix>...<suffix> [redacted-<KIND>]`.
     */
    redactWith?: (matched: string, settings: DyFM_SecretMask_Settings_Interface) => string;
    /**
     * `wrapPrefix` — ha a regex captures (`$1` group-ja stb.) a literal-prefixet jelzi
     * (pl. `Bearer ` a Bearer-token-nel), akkor a redact-result `[$1][reveal][marker]`-rel
     * kerul ossze; a regex group az `wrapPrefix` index-en mutatott group. Default 0 = no wrap.
     */
    wrapPrefix?: number;
}
export declare const DyFM_SECRET_PATTERNS: SecretPattern_Interface[];
/**
 * `DyFM_maskSecrets` — universal pre-Discord-send + pre-log-persist masking.
 *
 * @param text bemenet (ha nem string, JSON-szerializalaskor maskoljuk)
 * @param settings  konfiguracio (default a DyFM_DEFAULT_SECRET_MASK_SETTINGS)
 * @returns maszkolt szoveg
 */
export declare function DyFM_maskSecrets(text: unknown, settings?: DyFM_SecretMask_Settings_Interface): string;
/**
 * Recursive object-masker — JSON-szeru struktura minden string-ertekeben alkalmazza
 * a DyFM_maskSecrets-t. Pl. errors-table additionalContent / logTail tomb / cdpReport
 * objektum elotti masking-hez.
 */
export declare function DyFM_maskSecretsDeep<T = unknown>(input: T, settings?: DyFM_SecretMask_Settings_Interface): T;
export {};
//# sourceMappingURL=secret-mask.util.d.ts.map