/** * A registered VPN client (secrets excluded from API responses). */ export interface IVpnClient { clientId: string; enabled: boolean; serverDefinedClientTags?: string[]; description?: string; assignedIp?: string; createdAt: number; updatedAt: number; expiresAt?: string; } /** * VPN server status. */ export interface IVpnServerStatus { running: boolean; subnet: string; wgListenPort: number; serverPublicKeys: { noisePublicKey: string; wgPublicKey: string; } | null; registeredClients: number; connectedClients: number; } /** * VPN client telemetry data. */ export interface IVpnClientTelemetry { clientId: string; assignedIp: string; bytesSent: number; bytesReceived: number; packetsDropped: number; bytesDropped: number; lastKeepaliveAt?: string; keepalivesReceived: number; rateLimitBytesPerSec?: number; burstBytes?: number; }