import { CheckProfanityResult, Language, SeverityLevel } from '../types/types';
export interface ProfanityCheckerConfig {
    languages?: Language[];
    allLanguages?: boolean;
    caseSensitive?: boolean;
    wordBoundaries?: boolean;
    customWords?: string[];
    replaceWith?: string;
    severityLevels?: boolean;
    allowObfuscatedMatch?: boolean;
    fuzzyToleranceLevel?: number;
    minSeverity?: SeverityLevel;
    autoReplace?: boolean;
    customActions?: (result: CheckProfanityResult) => void;
}
export declare const useProfanityChecker: (config?: ProfanityCheckerConfig) => {
    result: CheckProfanityResult;
    checkText: (text: string) => {
        filteredWords: string[];
        autoReplaced: string;
        containsProfanity: boolean;
        profaneWords: string[];
        processedText?: string;
        severityMap?: Record<string, SeverityLevel>;
        matchContexts?: {
            word: string;
            context: string;
        }[];
    };
    checkTextAsync: (text: string) => Promise<CheckProfanityResult>;
    reset: () => void;
    isDirty: boolean;
    isWordProfane: (word: string) => boolean;
};
