/**
 * 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 { OIDCClaimsRequestDetails } from './OIDCClaimsRequestDetails';
/**
 * Metadata related to an issued personal access token. After the token has been generated, it cannot be retrieved.
 * @export
 * @interface AccessTokenRecord
 */
export interface AccessTokenRecord {
    /**
     * The unique ID of the access token
     * @type {string}
     * @memberof AccessTokenRecord
     */
    id?: string;
    /**
     * The ID of the user that the token belongs to.
     * @type {string}
     * @memberof AccessTokenRecord
     */
    userId?: string;
    /**
     * The scopes that have been granted to this token
     * @type {Array<string>}
     * @memberof AccessTokenRecord
     */
    scopes?: Array<AccessTokenRecordScopesEnum>;
    /**
     * The OIDC claims that can be accessed using this token.
     * @type {{ [key: string]: OIDCClaimsRequestDetails; }}
     * @memberof AccessTokenRecord
     */
    userInfoClaims?: {
        [key: string]: OIDCClaimsRequestDetails;
    };
    /**
     * A unique, typically human-readable name for the token
     * @type {string}
     * @memberof AccessTokenRecord
     */
    name?: string;
    /**
     * The date this personal access token was initially issued.
     * @type {string}
     * @memberof AccessTokenRecord
     */
    createdOn?: string;
    /**
     * The date this personal access token was last used.
     * @type {string}
     * @memberof AccessTokenRecord
     */
    lastUsed?: string;
    /**
     * The enumeration of possible personal access token states.
     * @type {string}
     * @memberof AccessTokenRecord
     */
    state?: AccessTokenRecordStateEnum;
}
/**
 * @export
 */
export declare const AccessTokenRecordScopesEnum: {
    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 AccessTokenRecordScopesEnum = typeof AccessTokenRecordScopesEnum[keyof typeof AccessTokenRecordScopesEnum];
/**
 * @export
 */
export declare const AccessTokenRecordStateEnum: {
    readonly ACTIVE: "ACTIVE";
    readonly EXPIRED: "EXPIRED";
};
export type AccessTokenRecordStateEnum = typeof AccessTokenRecordStateEnum[keyof typeof AccessTokenRecordStateEnum];
/**
 * Check if a given object implements the AccessTokenRecord interface.
 */
export declare function instanceOfAccessTokenRecord(value: object): value is AccessTokenRecord;
export declare function AccessTokenRecordFromJSON(json: any): AccessTokenRecord;
export declare function AccessTokenRecordFromJSONTyped(json: any, ignoreDiscriminator: boolean): AccessTokenRecord;
export declare function AccessTokenRecordToJSON(json: any): AccessTokenRecord;
export declare function AccessTokenRecordToJSONTyped(value?: AccessTokenRecord | null, ignoreDiscriminator?: boolean): any;
