import { IHasherService } from "./i-hasher-service";
import { IBuildConfig } from "../../build-config/i-build-config";
/**
 * A class that helps with generating hashes
 */
export declare class HasherService implements IHasherService {
    private readonly config;
    constructor(config: IBuildConfig);
    /**
     * The available hashing algorithms
     * @type {string[]}
     */
    private static readonly HASH_ALGORITHMS;
    /**
     * The preferred hashing algorithms to use
     * @type {Set<string>}
     */
    private static readonly PREFERRED_HASH_ALGORITHMS;
    /**
     * The default encoding to use when generating hashes
     * @type {string}
     */
    private static readonly DEFAULT_ENCODING;
    /**
     * Defines the default algorithm to use
     * @type {string}
     */
    private static readonly DEFAULT_ALGORITHM;
    /**
     * Retrieves a random key for an Hmac
     * @returns {string}
     */
    private readonly randomHmacKey;
    /**
     * Generates a random hash
     * @param {string} [key]
     * @returns {string}
     */
    generate(key?: string): string;
    /**
     * Replaces the hash in the given string
     * @param {string} str
     * @param {string} hash
     * @returns {string}
     */
    replaceHashInString(str: string, hash: string): string;
}
