import { IOidcTokenInfo, ITokenInfo } from '../../models/Authorization.js';
export declare class Tokens {
    /**
     * Creates a OidcTokenInfo object for the corresponding response type.
     *
     * @param responseType The response type of the token to prepare the info for.
     * @param params params received from the authorization endpoint.
     * @param time Timestamp when the tokens were created
     * @param requestedScopes The list of requested scopes. Optional.
     * @returns
     */
    static createTokenInfo(responseType: string, params: URLSearchParams, time: number, requestedScopes?: string[]): IOidcTokenInfo | null;
    /**
     * Creates a "code" response type token info.
     * @param params
     * @param time Timestamp when the tokens were created
     * @param requestedScopes The list of requested scopes. Optional.
     * @returns
     */
    static createBaseToken(params: URLSearchParams, time: number, requestedScopes?: string[]): IOidcTokenInfo;
    /**
     * Creates a "code" response type token info.
     * @param params
     * @param time Timestamp when the tokens were created
     * @param requestedScopes The list of requested scopes. Optional.
     * @returns
     */
    static createCodeToken(params: URLSearchParams, time: number, requestedScopes?: string[]): IOidcTokenInfo;
    /**
     * Creates a "token" response type token info.
     * @param params
     * @param time Timestamp when the tokens were created
     * @param requestedScopes The list of requested scopes. Optional.
     * @returns
     */
    static createTokenToken(params: URLSearchParams, time: number, requestedScopes?: string[]): IOidcTokenInfo;
    /**
     * Creates a "id_token" response type token info.
     * @param time Timestamp when the tokens were created
     * @param requestedScopes The list of requested scopes. Optional.
     */
    static createIdTokenToken(params: URLSearchParams, time: number, requestedScopes?: string[]): IOidcTokenInfo;
    /**
     * Computes the final list of granted scopes.
     * It is a list of scopes received in the response or the list of requested scopes.
     * Because the user may change the list of scopes during the authorization process
     * the received list of scopes can be different than the one requested by the user.
     *
     * @param requestedScopes The list of requested scopes. Optional.
     * @param tokenScopes The `scope` parameter received with the response. It's null safe.
     * @returns The list of scopes for the token.
     */
    static computeTokenInfoScopes(requestedScopes?: string[], tokenScopes?: string): string[];
    static fromTokenInfo(info: ITokenInfo): IOidcTokenInfo;
}
//# sourceMappingURL=Tokens.d.ts.map