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<string, unknown>;
    createdAt: number;
}
