export declare const VLAN_RULES: { readonly MIN: 1; readonly MAX: 4094; readonly RESERVED: number[]; readonly CONFIRMATION_REQUIRED: number[]; readonly VENDOR_WARNINGS: { readonly 'juniper-junos': { readonly range: [number, number]; readonly message: "May conflict with internal VLANs on SRX Ethernet switching"; }; readonly 'arista-eos': { readonly range: [number, number]; readonly message: "May conflict with dynamic internal VLAN allocation"; }; readonly fortinet: { readonly vlans: number[]; readonly message: "4094 is FortiLink default management VLAN"; }; }; }; export declare const DEVICE_COUNT_RULES: { readonly MIN: 1; readonly MAX: 16777214; }; export declare const IP_ADDRESS_RULES: { readonly OCTET_MIN: 0; readonly OCTET_MAX: 255; readonly OCTET_COUNT: 4; readonly RESERVED_RANGES: readonly [{ readonly start: "0.0.0.0"; readonly end: "0.255.255.255"; readonly description: "This network"; }, { readonly start: "127.0.0.0"; readonly end: "127.255.255.255"; readonly description: "Loopback"; }, { readonly start: "169.254.0.0"; readonly end: "169.254.255.255"; readonly description: "Link-local"; }, { readonly start: "192.0.0.0"; readonly end: "192.0.0.255"; readonly description: "IETF Protocol Assignments"; }, { readonly start: "192.0.2.0"; readonly end: "192.0.2.255"; readonly description: "TEST-NET-1"; }, { readonly start: "198.51.100.0"; readonly end: "198.51.100.255"; readonly description: "TEST-NET-2"; }, { readonly start: "203.0.113.0"; readonly end: "203.0.113.255"; readonly description: "TEST-NET-3"; }, { readonly start: "240.0.0.0"; readonly end: "255.255.255.255"; readonly description: "Reserved for future use"; }]; readonly PRIVATE_RANGES: readonly [{ readonly start: "10.0.0.0"; readonly end: "10.255.255.255"; readonly description: "Class A private"; }, { readonly start: "172.16.0.0"; readonly end: "172.31.255.255"; readonly description: "Class B private"; }, { readonly start: "192.168.0.0"; readonly end: "192.168.255.255"; readonly description: "Class C private"; }]; readonly MULTICAST_START: "224.0.0.0"; readonly MULTICAST_END: "239.255.255.255"; readonly BROADCAST: "255.255.255.255"; }; export declare const CIDR_RULES: { readonly MIN: 8; readonly MAX: 30; readonly ABSOLUTE_MIN: 0; readonly ABSOLUTE_MAX: 32; }; export declare const SUBNET_NAME_RULES: { readonly MIN_LENGTH: 1; readonly MAX_LENGTH: 100; }; export declare const PLAN_NAME_RULES: { readonly MIN_LENGTH: 1; readonly MAX_LENGTH: 100; }; export declare const SUBNET_DESCRIPTION_RULES: { readonly MIN_LENGTH: 0; readonly MAX_LENGTH: 200; }; export declare const FILENAME_RULES: { readonly MAX_LENGTH: 255; readonly FORBIDDEN_CHARS: RegExp; readonly FORBIDDEN_PATTERNS: readonly ["..", "\0", "/", "\\"]; }; export declare const CALCULATION_RULES: { readonly PLANNING_MULTIPLIER: 2; readonly MIN_SUBNET_SIZE: 4; readonly MAX_SUBNET_SIZE: 16777216; }; export declare const PREFERENCES_RULES: { readonly GROWTH_PERCENTAGE_MIN: 0; readonly GROWTH_PERCENTAGE_MAX: 300; readonly GROWTH_PERCENTAGE_DEFAULT: 100; }; export declare const FILE_RULES: { readonly SAVED_PLANS_DIR: string; readonly EXPORTS_DIR: string; readonly ALLOWED_EXTENSIONS: readonly [".json", ".yaml", ".yml", ".csv", ".pdf", ".cfg", ".conf"]; readonly EXPORT_EXTENSIONS: { readonly JSON: ".json"; readonly YAML: ".yaml"; readonly CSV: ".csv"; readonly PDF: ".pdf"; readonly CISCO_IOS: ".ios.cfg"; readonly CISCO_NXOS: ".nxos.cfg"; readonly ARISTA_EOS: ".eos.cfg"; readonly JUNIPER_JUNOS: ".junos.conf"; readonly FORTINET: ".forti.cfg"; readonly NETGEAR: ".netgear.cfg"; readonly UBIQUITI: ".ubnt.cfg"; }; readonly DEFAULT_EXTENSION: ".json"; }; export declare function getDirectory(type: 'saved' | 'exports', customPath?: string): string; export declare function isValidVlanRange(vlanId: number): boolean; export declare function isValidDeviceCountRange(count: number): boolean; export declare function isValidIpOctet(octet: number): boolean; export declare function isValidCidrPractical(cidr: number): boolean; export declare function isValidCidrAbsolute(cidr: number): boolean; export declare function isValidNameLength(name: string, rules: typeof SUBNET_NAME_RULES | typeof PLAN_NAME_RULES): boolean; export declare function isValidGrowthPercentage(percentage: number): boolean; export declare function isReservedIp(ip: string): { isReserved: boolean; description?: string; }; export declare function isPrivateIp(ip: string): { isPrivate: boolean; description?: string; }; export declare function isMulticastIp(ip: string): boolean; export declare function isBroadcastIp(ip: string): boolean; export declare function isReservedVlan(vlanId: number): boolean; export declare function isConfirmationRequiredVlan(vlanId: number): boolean; export declare function getVendorVlanWarning(vlanId: number, format: string): string | undefined;