package com.example.action sealed interface BaseAction { val disconnectWs: Boolean data class HttpAction( var request: HttpActionRequest? = null, var response: HttpActionResponse? = null, var next: List = emptyList(), var delay: Int, var skipError: Boolean, var async: Boolean, override val disconnectWs: Boolean = false, ) : BaseAction data class PinAction( var params:List = mutableListOf(), var filter: Boolean = true, var delay: Int, var next: List = mutableListOf(), var skipError: Boolean, var async: Boolean, override val disconnectWs: Boolean = false, ) : BaseAction data class WebSocketAction( var request: WebSocketActionRequest? = null, var response: WebSocketActionResponse? = null, var delay: Int = 0, var next: List = emptyList(), var skipError: Boolean = true, var async: Boolean = true, override var disconnectWs: Boolean = true ): BaseAction }