import 'package:model/model.dart'; abstract class AuthenticationOIDCDataSource { Future checkOIDCIsAvailable(OIDCRequest oidcRequest); Future getOIDCConfiguration(OIDCResponse oidcResponse); Future discoverOIDC(OIDCConfiguration oidcConfiguration); Future getTokenOIDC(String clientId, String redirectUrl, String discoveryUrl, List scopes); Future persistTokenOIDC(TokenOIDC tokenOidc); Future deleteTokenOIDC(); Future getStoredTokenOIDC(String tokenIdHash); Future persistAuthorityOidc(String authority); Future deleteAuthorityOidc(); Future getStoredOidcConfiguration(); Future refreshingTokensOIDC( String clientId, String redirectUrl, String discoveryUrl, List scopes, String refreshToken); Future logout(TokenId tokenId, OIDCConfiguration config, OIDCDiscoveryResponse oidcRescovery); Future authenticateOidcOnBrowser( String clientId, String redirectUrl, String discoveryUrl, List scopes); Future getAuthenticationInfo(); }