<?php

declare(strict_types=1);

namespace Kylin\SensitiveWord\Facades;

use Illuminate\Support\Facades\Facade;

/**
 * 敏感词过滤 Facade
 *
 * @method static bool   contains(string $text)                                          检测文本是否包含敏感词
 * @method static array  detect(string $text)                                             检测文本中的敏感词
 * @method static string filter(string $text, ?string $mode = null)                       过滤文本
 * @method static \Kylin\SensitiveWord\Models\SensitiveWord addWord(string $word, string $category, string $riskLevel = 'medium', ?string $source = 'manual')  添加敏感词
 * @method static array  batchImport(array $words, string $source = 'import')             批量导入
 * @method static array  sync(string $sinceVersion = '0.0.0')                             增量同步
 * @method static string getCurrentVersion()                                              获取当前版本
 * @method static array  getCategories()                                                  获取分类列表
 * @method static void   initDefaultCategories()                                          初始化默认分类
 * @method static array  getStatistics()                                                  获取统计
 * @method static void   clearCache()                                                     清除缓存
 *
 * @see \Kylin\SensitiveWord\Services\SensitiveWordService
 */
class KylinSensitiveWord extends Facade
{
    protected static function getFacadeAccessor(): string
    {
        return \Kylin\SensitiveWord\Services\SensitiveWordService::class;
    }
}
