export declare class ScopeSet { /** * Check if there are dup scopes in a given request * * @param cachedScopes * @param scopes */ static isIntersectingScopes(cachedScopes: Array, scopes: Array): boolean; /** * Check if a given scope is present in the request * * @param cachedScopes * @param scopes */ static containsScope(cachedScopes: Array, scopes: Array): boolean; /** * Trims and converts string to lower case * * @param scopes */ static trimAndConvertToLowerCase(scope: string): string; /** * Performs trimAndConvertToLowerCase on string array * @param scopes */ static trimAndConvertArrayToLowerCase(scopes: Array): Array; /** * Trims each scope in scopes array * @param scopes */ static trimScopes(scopes: Array): Array; /** * Remove one element from a scope array * * @param scopes * @param scope */ static removeElement(scopes: Array, scope: string): Array; /** * Parse the scopes into a formatted scopeList * @param scopes */ static parseScope(scopes: Array): string; /** * @hidden * * Used to validate the scopes input parameter requested by the developer. * @param {Array} scopes - Developer requested permissions. Not all scopes are guaranteed to be included in the access token returned. * @param {boolean} scopesRequired - Boolean indicating whether the scopes array is required or not * @ignore */ static validateInputScope(scopes: Array, scopesRequired: boolean): void; /** * @hidden * * Extracts scope value from the state sent with the authentication request. * @param {string} state * @returns {string} scope. * @ignore */ static getScopeFromState(state: string): string; /** * @ignore * Appends extraScopesToConsent if passed * @param {@link AuthenticationParameters} */ static appendScopes(reqScopes: Array, reqExtraScopesToConsent: Array): Array; /** * @ignore * Returns true if the scopes array only contains openid and/or profile */ static onlyContainsOidcScopes(scopes: Array): boolean; /** * @ignore * Returns true if the scopes array only contains openid and/or profile */ static containsAnyOidcScopes(scopes: Array): boolean; /** * @ignore * Returns true if the clientId is the only scope in the array */ static onlyContainsClientId(scopes: Array, clientId: string): boolean; /** * @ignore * Adds missing OIDC scopes to scopes array without duplication. Since STS requires OIDC scopes for * all implicit flow requests, 'openid' and 'profile' should always be included in the final request */ static appendDefaultScopes(scopes: Array): Array; /** * @ignore * Removes present OIDC scopes from scopes array. */ static removeDefaultScopes(scopes: Array): Array; /** * @ignore * Removes clientId from scopes array if included as only scope. If it's not the only scope, it is treated as a resource scope. * @param scopes Array: Pre-normalized scopes array * @param clientId string: The application's clientId that is searched for in the scopes array */ static translateClientIdIfSingleScope(scopes: Array, clientId: string): Array; }