export interface SubnetInfo { expectedDevices: number; plannedDevices: number; requiredHosts: number; subnetSize: number; cidrPrefix: number; usableHosts: number; networkAddress?: string; } export declare function applyPlanningRule(expectedDevices: number, growthPercentage?: number): number; export declare function calculateHostBits(hostCount: number): number; export declare function calculateCIDR(hostBits: number): number; export declare function calculateSubnetSize(cidr: number): number; export declare function calculateUsableHosts(subnetSize: number): number; export declare function calculateNetmask(cidr: number): string; export declare function calculateWildcard(cidr: number): string; export declare function calculateHostMin(networkAddress: string): string; export declare function calculateHostMax(networkAddress: string): string; export declare function calculateBroadcast(networkAddress: string): string; export declare function getSubnetDetails(subnetInfo: SubnetInfo): { address: string; netmask: string; wildcard: string; network: string; hostMin: string; hostMax: string; broadcast: string; hostsNet: number; }; export declare function calculateSubnet(expectedDevices: number, growthPercentage?: number): SubnetInfo; export declare function calculateSupernet(subnetInfos: SubnetInfo[]): { cidrPrefix: number; totalSize: number; usedSize: number; utilization: number; rangeEfficiency: number; }; export declare function generateNetworkAddress(baseIp: string, cidr: number): string; export interface OccupiedRange { start: number; end: number; } export declare function ipToInt(ip: string): number; export declare function intToIp(ipInt: number): string; export declare function allocateSubnetAddresses(baseIp: string, subnetInfos: SubnetInfo[], occupiedRanges?: OccupiedRange[]): SubnetInfo[];