import * as plugins from './smartvpn.plugins.js';
import type { IVpnClientOptions, IVpnClientConfig, IVpnStatus, IVpnStatistics, IVpnConnectionQuality, IVpnMtuInfo } from './smartvpn.interfaces.js';
/**
 * VPN Client — manages a smartvpn daemon in client mode.
 */
export declare class VpnClient extends plugins.events.EventEmitter {
    private bridge;
    private options;
    constructor(options: IVpnClientOptions);
    /**
     * Start the daemon bridge (spawn or connect).
     */
    start(): Promise<boolean>;
    /**
     * Connect to the VPN server using the provided config.
     */
    connect(config?: IVpnClientConfig): Promise<{
        assignedIp: string;
    }>;
    /**
     * Disconnect from the VPN server.
     */
    disconnect(): Promise<void>;
    /**
     * Get current connection status.
     */
    getStatus(): Promise<IVpnStatus>;
    /**
     * Get traffic statistics (includes connection quality when connected).
     */
    getStatistics(): Promise<IVpnStatistics>;
    /**
     * Get connection quality metrics (RTT, jitter, loss, link health).
     */
    getConnectionQuality(): Promise<IVpnConnectionQuality>;
    /**
     * Get MTU information (overhead, effective MTU, oversized packet stats).
     */
    getMtuInfo(): Promise<IVpnMtuInfo>;
    /**
     * Stop the daemon bridge.
     */
    stop(): void;
    /**
     * Whether the bridge is running.
     */
    get running(): boolean;
}
