interface Command { type: string; } interface CreateUserCommand extends Command { type: 'createUser'; name: string; email: string; } interface DeleteUserCommand extends Command { type: 'deleteUser'; userId: string; } export type UserCommand = | CreateUserCommand | DeleteUserCommand