use crate::{AudienceId, AuthRole};
use candid::CandidType;
use serde::{Deserialize, Serialize};
#[derive(CandidType, Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
pub enum DelegationAudience {
Fleet(AudienceId),
}
#[derive(CandidType, Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
pub struct DelegatedRoleGrant {
pub target: AuthRole,
pub scopes: Vec<String>,
}
#[derive(CandidType, Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize)]
pub struct AuthRequestMetadata {
pub request_id: [u8; 32],
pub ttl_ns: u64,
}