/**
 * Synapse REST API
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: v1
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { OIDCClaimsRequest } from './OIDCClaimsRequest';
/**
 * OAuth 2.0 refresh token metadata. Note that the token itself may not be retrieved after it is issued to a client.
 * @export
 * @interface OAuthRefreshTokenInformation
 */
export interface OAuthRefreshTokenInformation {
    /**
     * The unique ID for this refresh token.
     * @type {string}
     * @memberof OAuthRefreshTokenInformation
     */
    tokenId?: string;
    /**
     * The unique ID for the OAuth client that may utilize this token.
     * @type {string}
     * @memberof OAuthRefreshTokenInformation
     */
    clientId?: string;
    /**
     * The unique ID for the user whose resources can be accessed with this token.
     * @type {string}
     * @memberof OAuthRefreshTokenInformation
     */
    principalId?: string;
    /**
     * A human-readable identifier for the token.
     * @type {string}
     * @memberof OAuthRefreshTokenInformation
     */
    name?: string;
    /**
     * An array containing each scope that this refresh token grants access to.
     * @type {Array<string>}
     * @memberof OAuthRefreshTokenInformation
     */
    scopes?: Array<OAuthRefreshTokenInformationScopesEnum>;
    /**
     *
     * @type {OIDCClaimsRequest}
     * @memberof OAuthRefreshTokenInformation
     */
    claims?: OIDCClaimsRequest;
    /**
     * The date this refresh token was initially issued.
     * @type {string}
     * @memberof OAuthRefreshTokenInformation
     */
    authorizedOn?: string;
    /**
     * The date this refresh token was last used by the client to issue a new access token.
     * @type {string}
     * @memberof OAuthRefreshTokenInformation
     */
    lastUsed?: string;
    /**
     * The date this refresh token metadata was last modified.
     * @type {string}
     * @memberof OAuthRefreshTokenInformation
     */
    modifiedOn?: string;
    /**
     * Synapse employs an Optimistic Concurrency Control (OCC) scheme to handle concurrent updates. Since the E-Tag changes every time a client is updated it is used to detect when a client's current representation of an entity is out-of-date.
     * @type {string}
     * @memberof OAuthRefreshTokenInformation
     */
    etag?: string;
}
/**
 * @export
 */
export declare const OAuthRefreshTokenInformationScopesEnum: {
    readonly openid: "openid";
    readonly email: "email";
    readonly profile: "profile";
    readonly ga4gh_passport_v1: "ga4gh_passport_v1";
    readonly view: "view";
    readonly download: "download";
    readonly modify: "modify";
    readonly authorize: "authorize";
    readonly offline_access: "offline_access";
};
export type OAuthRefreshTokenInformationScopesEnum = typeof OAuthRefreshTokenInformationScopesEnum[keyof typeof OAuthRefreshTokenInformationScopesEnum];
/**
 * Check if a given object implements the OAuthRefreshTokenInformation interface.
 */
export declare function instanceOfOAuthRefreshTokenInformation(value: object): value is OAuthRefreshTokenInformation;
export declare function OAuthRefreshTokenInformationFromJSON(json: any): OAuthRefreshTokenInformation;
export declare function OAuthRefreshTokenInformationFromJSONTyped(json: any, ignoreDiscriminator: boolean): OAuthRefreshTokenInformation;
export declare function OAuthRefreshTokenInformationToJSON(json: any): OAuthRefreshTokenInformation;
export declare function OAuthRefreshTokenInformationToJSONTyped(value?: OAuthRefreshTokenInformation | null, ignoreDiscriminator?: boolean): any;
