/**
 *@interface IEndpointProvider
* @description Interface for an endpoint provider
 */

export interface IEndpointProvider {
    /**
     * @description Retrieves a URL for the Trimble Identity authorization endpoint
     * @returns {PromiseLike<string>} A Task that resolves to the value of the URL on completion
     */
    RetrieveAuthorizationEndpoint(): Promise<string>;
    /**
     * @description Retrieves a URL for the Trimble Identity authorization endpoint
     * @returns {PromiseLike<string>} A Task that resolves to the value of the URL on completion
     */
    RetrieveTokenEndpoint(): Promise<string>;
    /**
     * @description Retrieves a URL for the Trimble Identity authorization endpoint
     * @returns {PromiseLike<string>} A Task that resolves to the value of the URL on completion
     */
    RetrieveUserInfoEndpoint(): Promise<string>;
    /**
     * @description Retrieves a URL for the Trimble Identity token revocation endpoint
     * @returns {PromiseLike<string>} A Task that resolves to the value of the URL on completion
     */
    RetrieveTokenRevocationEndpoint(): Promise<string>;
    /**
     * @description Retrieves a URL for the Trimble Identity end session endpoint
     * @returns {PromiseLike<string>} A Task that resolves to the value of the URL on completion
     */
    RetrieveEndSessionEndpoint(): Promise<string>;
    /**
     * @description Retrieves a URL for the Trimble Identity authorization endpoint
     * @returns {PromiseLike<string>} A Task that resolves to the value of the URL on completion
     */
    RetrieveJSONWebKeySetEndpoint(): Promise<string>;
}