/**
 * @copyright Sister Software
 * @license AGPL-3.0
 * @author Teffen Ellis, et al.
 */
export interface TextNormalizerReplaceClause {
    from: string | RegExp;
    to: string;
}
export interface TextNormalizerInit {
    lowercase?: boolean;
    removeAccents?: boolean;
    removeHyphen?: boolean;
    removeSpaces?: boolean;
    minLength?: number;
    maxLength?: number;
    replace?: TextNormalizerReplaceClause[];
}
/**
 * Normalizes text values, i.e. removes superfluous characters such as accents, hyphens, and spaces.
 */
export declare class TextNormalizer implements TextNormalizerInit {
    readonly lowercase: boolean;
    readonly removeAccents: boolean;
    readonly removeHyphen: boolean;
    readonly removeSpaces: boolean;
    readonly replace: TextNormalizerReplaceClause[];
    readonly minLength?: number;
    readonly maxLength?: number;
    constructor(init?: TextNormalizerInit);
    /**
     * Perform text normalization on a given input.
     */
    normalize(input: string): string;
    /**
     * Validate a given input against the defined validations.
     */
    validate(input: string): boolean;
    toJSON(): TextNormalizerInit;
}
//# sourceMappingURL=normalizer.d.ts.map