use serde::{Deserialize, Serialize};
use strum::Display;
type Command = String;
type Args = Option<String>;
#[derive(Debug, Clone, PartialEq, Serialize, Display, Deserialize)]
pub enum Action {
Tick,
Render,
Resize(u16, u16),
Suspend,
Resume,
Quit,
Refresh,
Error(String),
Help,
FocusNext,
FocusPrev,
Focus,
UnFocus,
Up,
Down,
Submit,
Update,
Tab(u32),
TabNext,
TabPrev,
Go,
Back,
ToggleFullScreen,
StatusLine(String),
TimedStatusLine(String, u64),
FocusFooter(Command, Args),
FooterResult(Command, Args),
Noop,
NewCall(Option<String>),
HangUp(Option<String>),
Dial,
History,
CloseHistory,
AddQuery(String),
RemoveQuery(String),
AddHeader(String),
RemoveHeader(String),
OpenRequestPayload(String),
SaveResponsePayload(String),
}