use std::time::Duration;
use crate::Result;
pub trait SigningTransport {
fn url(&self) -> Option<&str> {
None
}
fn sign_data(
&self,
data: &[u8],
username: &str,
password: &str,
timeout: Duration,
) -> Result<Vec<u8>>;
fn sign_hash(
&self,
hash: &[u8],
username: &str,
password: &str,
timeout: Duration,
) -> Result<Vec<u8>>;
fn sign_pdf_detached(
&self,
pdf: &[u8],
username: &str,
password: &str,
timeout: Duration,
) -> Result<Vec<u8>>;
fn enum_certificates(
&self,
_username: &str,
_password: &str,
_timeout: Duration,
) -> Result<Vec<Vec<u8>>> {
Ok(Vec::new())
}
}