import * as plugins from '../plugins.js'; import type * as authInterfaces from '../data/auth.js'; import type { IIpIntelligenceRecord, ISecurityBlockRule, ISecurityCompiledPolicy, ISecurityPolicyAuditEvent, TSecurityBlockRuleMatchMode, TSecurityBlockRuleType, } from '../data/security-policy.js'; export interface IReq_ListSecurityBlockRules extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_ListSecurityBlockRules > { method: 'listSecurityBlockRules'; request: { identity: authInterfaces.IIdentity; }; response: { rules: ISecurityBlockRule[]; }; } export interface IReq_CreateSecurityBlockRule extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_CreateSecurityBlockRule > { method: 'createSecurityBlockRule'; request: { identity: authInterfaces.IIdentity; type: TSecurityBlockRuleType; value: string; matchMode?: TSecurityBlockRuleMatchMode; reason?: string; enabled?: boolean; }; response: { success: boolean; rule?: ISecurityBlockRule; message?: string; }; } export interface IReq_UpdateSecurityBlockRule extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_UpdateSecurityBlockRule > { method: 'updateSecurityBlockRule'; request: { identity: authInterfaces.IIdentity; id: string; value?: string; matchMode?: TSecurityBlockRuleMatchMode; reason?: string; enabled?: boolean; }; response: { success: boolean; rule?: ISecurityBlockRule; message?: string; }; } export interface IReq_DeleteSecurityBlockRule extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_DeleteSecurityBlockRule > { method: 'deleteSecurityBlockRule'; request: { identity: authInterfaces.IIdentity; id: string; }; response: { success: boolean; message?: string; }; } export interface IReq_ListIpIntelligence extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_ListIpIntelligence > { method: 'listIpIntelligence'; request: { identity: authInterfaces.IIdentity; }; response: { records: IIpIntelligenceRecord[]; }; } export interface IReq_GetCompiledSecurityPolicy extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_GetCompiledSecurityPolicy > { method: 'getCompiledSecurityPolicy'; request: { identity: authInterfaces.IIdentity; }; response: { policy: ISecurityCompiledPolicy; }; } export interface IReq_ListSecurityPolicyAudit extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_ListSecurityPolicyAudit > { method: 'listSecurityPolicyAudit'; request: { identity: authInterfaces.IIdentity; limit?: number; }; response: { events: ISecurityPolicyAuditEvent[]; }; } export interface IReq_RefreshIpIntelligence extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_RefreshIpIntelligence > { method: 'refreshIpIntelligence'; request: { identity: authInterfaces.IIdentity; ipAddress: string; }; response: { success: boolean; record?: IIpIntelligenceRecord; message?: string; }; }