import { type LogService } from 'common-services';
import { type JsonValue } from 'type-fest';
import { type WhookHeaders } from '../index.js';
export interface WhookSensibleValueDescriptor {
    name: string;
    pattern: RegExp;
    clearIndices: number[];
}
export interface WhookObfuscatorConfig {
    SHIELD_CHAR?: string;
    MAX_CLEAR_CHARS?: number;
    MAX_CLEAR_RATIO?: number;
    SENSIBLE_PROPS?: WhookSensibleValueDescriptor[];
    SENSIBLE_HEADERS?: WhookSensibleValueDescriptor[];
}
export interface WhookObfuscatorDependencies extends WhookObfuscatorConfig {
    log?: LogService;
}
export interface WhookObfuscatorService {
    obfuscate: (secret: string) => string;
    obfuscateSensibleProps: (propValue: JsonValue, propName?: string) => JsonValue;
    obfuscateSensibleHeaders: (headers: WhookHeaders) => WhookHeaders;
}
declare const _default: import("knifecycle").ServiceInitializer<WhookObfuscatorDependencies, WhookObfuscatorService>;
export default _default;
