use std::future::Future;
use crate::Error;
use crate::protocol::art_response::ArtResponse;
pub(crate) trait FrameTvTransport: Send + Sync + 'static {
fn send_art_request(
&self,
request_json: &str,
wait_for_event: Option<&str>,
) -> impl Future<Output = Result<ArtResponse, Error>> + Send;
fn send_remote_key(&self, key_code: &str) -> impl Future<Output = Result<(), Error>> + Send;
fn upload_image(
&self,
image_data: &[u8],
file_type: &str,
matte_id: Option<&str>,
) -> impl Future<Output = Result<ArtResponse, Error>> + Send;
fn download_thumbnail(
&self,
content_id: &str,
) -> impl Future<Output = Result<Vec<u8>, Error>> + Send;
fn tv_display_size(&self) -> impl Future<Output = Result<(u32, u32), Error>> + Send;
}