import type { IVpnClientConfig, IVpnServerConfig } from './smartvpn.interfaces.js';
/**
 * VPN configuration loader, saver, and validator.
 */
export declare class VpnConfig {
    /**
     * Validate a client config object. Throws on invalid config.
     */
    static validateClientConfig(config: IVpnClientConfig): void;
    /**
     * Validate a server config object. Throws on invalid config.
     */
    static validateServerConfig(config: IVpnServerConfig): void;
    /**
     * Load a config from a JSON file.
     */
    static loadFromFile<T>(filePath: string): Promise<T>;
    /**
     * Save a config to a JSON file.
     */
    static saveToFile<T>(filePath: string, config: T): Promise<void>;
    /**
     * Basic IP address validation.
     */
    private static isValidIp;
    /**
     * Basic subnet validation (CIDR notation).
     */
    private static isValidSubnet;
    /**
     * Validate a CIDR string (IPv4 or IPv6).
     */
    private static isValidCidr;
    /**
     * Validate a base64-encoded 32-byte key (WireGuard X25519 format).
     */
    private static validateBase64Key;
}
