import { type LogService } from 'common-services';
import { type JsonValue } from 'type-fest';
import { type WhookHeaders } from '../index.js';
export type WhookSensibleValueDescriptor = {
    name: string;
    pattern: RegExp;
    clearIndices: number[];
};
export type WhookObfuscatorConfig = {
    SHIELD_CHAR?: string;
    MAX_CLEAR_CHARS?: number;
    MAX_CLEAR_RATIO?: number;
    SENSIBLE_PROPS?: WhookSensibleValueDescriptor[];
    SENSIBLE_HEADERS?: WhookSensibleValueDescriptor[];
};
export type WhookObfuscatorDependencies = {
    log?: LogService;
} & WhookObfuscatorConfig;
export type 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;
