interface StreamResponse { status: StreamStatus; } enum StreamStatus { IDLE, ONLINE, OFFLINE, } function handleResponse(response: StreamResponse): void { switch (response.status) { case StreamStatus.ONLINE: console.log('You are online.'); break; case StreamStatus.OFFLINE: console.log('You are offline.'); break; default: const status: never = response.status; throw new Error(`Unknown status "${status}"!`); } }