import { Application, Database } from '@tego/server';
export declare class IPFilterService {
    db: Database;
    app: Application;
    private logger;
    private readonly CACHE_KEY;
    private readonly CACHE_TTL;
    private config;
    load(): Promise<void>;
    /**
     * 初始化IP过滤器配置
     */
    private initIPFilterConfig;
    private loadConfigFromDBAtStart;
    /**
     * 从数据库加载IP过滤器配置
     */
    private loadConfigFromDB;
    /**
     * 创建默认配置
     */
    private createDefaultConfig;
    /**
     * 解析IP列表文本为数组
     */
    private parseIPList;
    /**
     * 设置监听ipFilter表变动的事件
     */
    private setupIPFilterListener;
    /**
     * 添加IP过滤中间件
     */
    private addMiddleWare;
    /**
     * 检查IP是否被允许访问
     * @param ip 客户端IP地址
     * @returns 如果IP被允许访问，返回true；否则返回false
     */
    isIPAllowed(ip: string): Promise<boolean>;
    /**
     * 检查IP是否在列表中
     * @param ip 解析后的IP地址
     * @param list IP地址列表
     * @returns 如果IP在列表中，返回true；否则返回false
     */
    private isInList;
}
