pub trait AccountProxyInterface: Send + Sync {
type GetAuthStateResponseFut: Future<Output = Result<AuthTargetGetAuthStateResult, Error>> + Send;
type RegisterAuthListenerResponseFut: Future<Output = Result<AuthTargetRegisterAuthListenerResult, Error>> + Send;
type GetLifetimeResponseFut: Future<Output = Result<Lifetime, Error>> + Send;
type GetPersonaIdsResponseFut: Future<Output = Result<Vec<u64>, Error>> + Send;
type GetDefaultPersonaResponseFut: Future<Output = Result<AccountGetDefaultPersonaResult, Error>> + Send;
type GetPersonaResponseFut: Future<Output = Result<AccountGetPersonaResult, Error>> + Send;
type GetAuthMechanismEnrollmentsResponseFut: Future<Output = Result<AccountGetAuthMechanismEnrollmentsResult, Error>> + Send;
type CreateAuthMechanismEnrollmentResponseFut: Future<Output = Result<AccountCreateAuthMechanismEnrollmentResult, Error>> + Send;
type RemoveAuthMechanismEnrollmentResponseFut: Future<Output = Result<AccountRemoveAuthMechanismEnrollmentResult, Error>> + Send;
type StorageLockResponseFut: Future<Output = Result<AccountStorageLockResult, Error>> + Send;
type InteractionLockResponseFut: Future<Output = Result<AccountInteractionLockResult, Error>> + Send;
type GetDataDirectoryResponseFut: Future<Output = Result<AccountGetDataDirectoryResult, Error>> + Send;
// Required methods
fn get_auth_state(&self) -> Self::GetAuthStateResponseFut;
fn register_auth_listener(
&self,
payload: AuthTargetRegisterAuthListenerRequest
) -> Self::RegisterAuthListenerResponseFut;
fn get_lifetime(&self) -> Self::GetLifetimeResponseFut;
fn get_persona_ids(&self) -> Self::GetPersonaIdsResponseFut;
fn get_default_persona(
&self,
persona: ServerEnd<PersonaMarker>
) -> Self::GetDefaultPersonaResponseFut;
fn get_persona(
&self,
id: u64,
persona: ServerEnd<PersonaMarker>
) -> Self::GetPersonaResponseFut;
fn get_auth_mechanism_enrollments(
&self
) -> Self::GetAuthMechanismEnrollmentsResponseFut;
fn create_auth_mechanism_enrollment(
&self,
interaction: ServerEnd<InteractionMarker>
) -> Self::CreateAuthMechanismEnrollmentResponseFut;
fn remove_auth_mechanism_enrollment(
&self,
enrollment_id: u64
) -> Self::RemoveAuthMechanismEnrollmentResponseFut;
fn storage_lock(&self) -> Self::StorageLockResponseFut;
fn interaction_lock(&self) -> Self::InteractionLockResponseFut;
fn get_data_directory(
&self,
data_directory: ServerEnd<DirectoryMarker>
) -> Self::GetDataDirectoryResponseFut;
}