001package com.box.sdkgen.networking.auth;
002
003import com.box.sdkgen.networking.network.NetworkSession;
004import com.box.sdkgen.schemas.accesstoken.AccessToken;
005import java.util.List;
006
007public interface Authentication {
008
009  AccessToken retrieveToken();
010
011  AccessToken retrieveToken(NetworkSession networkSession);
012
013  AccessToken refreshToken();
014
015  AccessToken refreshToken(NetworkSession networkSession);
016
017  String retrieveAuthorizationHeader();
018
019  String retrieveAuthorizationHeader(NetworkSession networkSession);
020
021  void revokeToken();
022
023  void revokeToken(NetworkSession networkSession);
024
025  AccessToken downscopeToken(
026      List<String> scopes, String resource, String sharedLink, NetworkSession networkSession);
027}