export type NetworkSecurityConfig = { allowPublicAccess: boolean; enablePrivateEndpoint: boolean; allowedIPs?: string[]; allowedCIDRs?: string[]; }; export type AccessControlPolicy = { ruleId: string; effect: 'allow' | 'deny'; principal: string; action: string[]; resource: string[]; conditions?: Record; }; /** * Network security and access controls * Phase 2: Network isolation and firewall rules */ export declare class NetworkSecurityManager { private readonly config; private readonly accessControlPolicies; constructor(config: NetworkSecurityConfig); /** * Validate network security configuration */ private validateConfig; /** * Check if an IP is allowed */ isIPAllowed(ip: string): boolean; /** * Check if IP matches any CIDR block */ private isCIDRMatch; /** * Add access control policy */ addPolicy(policy: AccessControlPolicy): void; /** * Remove access control policy */ removePolicy(ruleId: string): void; /** * Get policy by ID */ getPolicy(ruleId: string): AccessControlPolicy | undefined; /** * List all policies */ listPolicies(): AccessControlPolicy[]; /** * Evaluate access for principal and action */ evaluateAccess(principal: string, action: string, resource: string): boolean; /** * Check if policy matches principal, action, and resource */ private policyMatches; /** * Enable/disable public access */ setPublicAccessEnabled(enabled: boolean): void; /** * Enable/disable private endpoint */ setPrivateEndpointEnabled(enabled: boolean): void; /** * Get network configuration summary */ getConfigSummary(): { publicAccessEnabled: boolean; privateEndpointEnabled: boolean; allowedIPCount: number; allowedCIDRCount: number; policyCount: number; }; } //# sourceMappingURL=network-security.d.ts.map