/** * Represents a UniFi network configuration. */ export interface Network { /** Unique network ID */ _id?: string; /** Network name */ name: string; /** Purpose (corporate, guest, etc.) */ purpose: string; /** VLAN enabled */ vlan_enabled?: boolean; /** VLAN ID */ vlan?: number; /** IPv4 subnet */ subnet?: string; /** IPv4 subnet (alternate key) */ ip_subnet?: string; /** IPv6 interface type */ ipv6_interface_type?: string; /** Domain name */ domain_name?: string; /** DHCP enabled */ dhcpd_enabled?: boolean; /** DHCP start address */ dhcpd_start?: string; /** DHCP stop address */ dhcpd_stop?: string; /** DHCP lease time (seconds) */ dhcpd_lease?: number; [key: string]: unknown; } /** * Action for a firewall rule. */ export type FirewallAction = 'accept' | 'reject' | 'drop'; /** * Represents a UniFi firewall rule. */ export interface FirewallRule { /** Unique rule ID */ _id?: string; /** Rule name */ name: string; /** Rule enabled */ enabled: boolean; /** Action (accept, reject, drop) */ action: FirewallAction; /** Protocol (tcp, udp, etc.) */ protocol: string; /** Source address enabled */ src_address_enabled?: boolean; /** Source address */ src_address?: string; /** Destination address enabled */ dst_address_enabled?: boolean; /** Destination address */ dst_address?: string; [key: string]: unknown; } export interface FirewallGroup { _id: string; name: string; group_type: string; members?: string[]; [key: string]: unknown; } export interface DnsRecord { _id: string; hostname: string; ip: string; type: string; [key: string]: unknown; } export interface WlanGroup { _id: string; name: string; wlan_ids?: string[]; [key: string]: unknown; }