/**
 * Log Sanitizer for Vite Plugin
 *
 * Sanitizes secrets from log messages while preserving debugging information.
 * This is a lightweight version for the vite-plugin, avoiding a dependency
 * on the telemetry package.
 *
 * DESIGN DECISION: Only sanitize actual secrets (API keys, tokens, JWTs).
 * Preserve debugging info (emails, file paths, stack traces) for troubleshooting.
 *
 * @see engineering/projects/o11y-refactor/managed-cloud-telemetry.md#logging-strategy
 */
/**
 * Sanitizes secrets from a log message string.
 * Preserves debugging info (emails, file paths, etc.) for troubleshooting.
 */
export declare function sanitizeLogMessage(message: string): string;
/**
 * Sanitizes secrets within a stack trace while preserving the full trace.
 * Stack traces are essential for debugging - only redact secrets within them.
 */
export declare function redactStackTrace(stack: string): string;
/**
 * Recursively sanitizes secrets from an object.
 * Strips secret fields entirely, sanitizes secrets in string values.
 *
 * NOTE: For object inputs, this returns a plain `Record<string, unknown>` copy.
 * The original prototype chain is not preserved (e.g., Error instances become
 * plain objects). The return type `T` is kept for convenience at call sites
 * but callers should not rely on `instanceof` checks after sanitization.
 */
export declare function sanitizeLogObject<T>(obj: T, depth?: number): T;
export declare function safeJsonParse(str: string): unknown | undefined;
/**
 * Safe JSON stringify with secret sanitization.
 *
 * NOTE: This function strips object keys that match SECRET_FIELDS (e.g.,
 * "password", "api_key", "access_token") from the serialized output. Callers
 * outside of logging contexts should be aware that fields with these exact key
 * names will be omitted from the resulting JSON string.
 */
export declare function safeJsonStringify(obj: unknown, space?: string | number): string;
//# sourceMappingURL=log-sanitizer.d.ts.map