module Chiasma.Api.Class where import Conduit (ConduitT, Flush) import Chiasma.Codec.Decode (TmuxDecodeError) import Chiasma.Data.Cmd (Cmd, Cmds) import Chiasma.Native.StreamParse (TmuxOutputBlock) class TmuxApi m a where runCommands :: a -> (Text -> Either TmuxDecodeError b) -> Cmds -> m [b] withTmux :: a -> (ConduitT (Flush Cmd) Void m () -> ConduitT () TmuxOutputBlock m () -> m b) -> m b