import type { IIpIntelligenceResult } from '@push.rocks/smartnetwork'; export type TSecurityBlockRuleType = 'ip' | 'cidr' | 'asn' | 'organization'; export type TSecurityBlockRuleMatchMode = 'exact' | 'contains'; export interface IIpIntelligenceRecord extends IIpIntelligenceResult { ipAddress: string; firstSeenAt: number; lastSeenAt: number; updatedAt: number; seenCount: number; } export interface ISecurityBlockRule { id: string; type: TSecurityBlockRuleType; value: string; matchMode?: TSecurityBlockRuleMatchMode; enabled: boolean; reason?: string; createdAt: number; updatedAt: number; createdBy: string; } export interface ISecurityCompiledPolicy { blockedIps: string[]; blockedCidrs: string[]; } export interface ISecurityPolicyAuditEvent { id: string; action: string; actor: string; details: Record; createdAt: number; }