export interface AuthLog { id?: number; clientid: string; username: string; ip_address: string; operation_type: 'connect' | 'publish' | 'subscribe' | 'disconnect'; result: 'success' | 'failure'; reason?: string; topic?: string; created_at?: Date; } export declare class AuthLogModel { static getAll(limit?: number, offset?: number): Promise; static getById(id: number): Promise; static getByClientid(clientid: string, limit?: number, offset?: number): Promise; static getByUsername(username: string, limit?: number, offset?: number): Promise; static getByOperationType(operationType: string, limit?: number, offset?: number): Promise; static getByResult(result: string, limit?: number, offset?: number): Promise; static getByTimeRange(startTime: Date, endTime: Date, limit?: number, offset?: number): Promise; static getCount(): Promise; static getOperationTypeStats(startTime?: Date, endTime?: Date): Promise; static getResultStats(startTime?: Date, endTime?: Date): Promise; static getDailyStats(days?: number): Promise; static getHourlyStats(hours?: number): Promise; static getTopClients(limit?: number): Promise; static getTopIps(limit?: number): Promise; static create(authLog: Omit): Promise; static search(searchTerm: string, limit?: number, offset?: number): Promise; static getSearchCount(searchTerm: string): Promise; static cleanup(daysToKeep?: number): Promise; static getRecent(limit?: number): Promise; static cleanupOldLogs(daysToKeep?: number): Promise; static getFullStats(): Promise; static getOperationStats(startTime?: Date, endTime?: Date): Promise; static getCountByMultipleConditions(conditions: { [key: string]: any; }, startTime?: Date, endTime?: Date, fuzzyFields?: string[]): Promise; static getByMultipleConditions(conditions: { [key: string]: any; }, startTime?: Date, endTime?: Date, limit?: number, offset?: number, fuzzyFields?: string[]): Promise; static getCountByTimeRange(startTime: Date, endTime: Date): Promise; static getCountByResult(result: string): Promise; static getCountByIpAddress(ipAddress: string): Promise; static getCountByOperationType(operationType: string): Promise; static getCountByUsername(username: string): Promise; static getByIpAddress(ipAddress: string, limit?: number, offset?: number): Promise; static getCountByClientid(clientid: string): Promise; } //# sourceMappingURL=authLog.d.ts.map