Pristine-native OAuth2 token representation.
@type t() :: %Pristine.OAuth2.Token{ access_token: String.t() | nil, expires_at: integer() | nil, other_params: map(), refresh_token: String.t() | nil, token_type: String.t() }
@spec expired?(t()) :: boolean()
@spec expires?(t()) :: boolean()
@spec from_backend_token(map()) :: t()
@spec from_map(map()) :: t()
@spec to_map(t()) :: map()