/**
 * Copyright (c) Trimble Inc.
 */
import { KeysetProvider } from '../interfaces/KeysetProvider';
import { EndpointProvider } from '../interfaces/EndpointProvider';
import { Keyset } from '../interfaces/Keyset';
/**
 * OpenIdKeysetProvider provides a keyset for JSON web token
 */
export default class OpenIdKeysetProvider implements KeysetProvider {
    private readonly _endpointProvider;
    /**
     * Public constructor for OpenIdKeySetProvider class
     *
     * @param endpointProvider An endpoint provider that provides the URL for the Trimble Identity JSON web keyset endpoint.
     * It can be be OpenIdEndpointProvider/FixedEndpointProvider
     */
    constructor(endpointProvider: EndpointProvider);
    /**
     * Retrieves an array of named keys
     *
     * @returns A Promise that resolves to an array of named keys on completion
     * @throws Thrown when a JSON web keyset endpoint is not provided by the endpoint provider
     * @throws Thrown when a call to the JSON web keyset endpoint fails
     */
    RetrieveKeyset(): Promise<Keyset[]>;
}
