/**
 * 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.
 */
/**
 * Response from token introspection conforming to <a href="https://tools.ietf.org/html/rfc7662">RFC 7662</a>.
 * @export
 * @interface OAuthTokenIntrospectionResponse
 */
export interface OAuthTokenIntrospectionResponse {
    /**
     * Whether the token is active
     * @type {boolean}
     * @memberof OAuthTokenIntrospectionResponse
     */
    active?: boolean;
    /**
     * A JSON string containing a space-separated list of scopes associated with this token, in the format described in Section 3.3 of OAuth 2.0
     * @type {string}
     * @memberof OAuthTokenIntrospectionResponse
     */
    scope?: string;
    /**
     * The audience (realm or OAuth Client) the token was issued for
     * @type {string}
     * @memberof OAuthTokenIntrospectionResponse
     */
    aud?: string;
    /**
     * Subject identifier. For a first-party access token, this is the Synapse user ID. For tokens issued to OAuth Clients, this is a PPID (Pairwise Pseudonymous Identifier)
     * @type {string}
     * @memberof OAuthTokenIntrospectionResponse
     */
    sub?: string;
    /**
     *
     * @type {string}
     * @memberof OAuthTokenIntrospectionResponse
     */
    token_type?: OAuthTokenIntrospectionResponseTokenTypeEnum;
    /**
     * Expiration time (seconds since epoch)
     * @type {number}
     * @memberof OAuthTokenIntrospectionResponse
     */
    exp?: number;
    /**
     * Issued at time (seconds since epoch)
     * @type {number}
     * @memberof OAuthTokenIntrospectionResponse
     */
    iat?: number;
    /**
     * Time of user authentication (seconds since epoch)
     * @type {number}
     * @memberof OAuthTokenIntrospectionResponse
     */
    auth_time?: number;
    /**
     * Token issuer
     * @type {string}
     * @memberof OAuthTokenIntrospectionResponse
     */
    iss?: string;
    /**
     * Unique token identifier
     * @type {string}
     * @memberof OAuthTokenIntrospectionResponse
     */
    jti?: string;
}
/**
 * @export
 */
export declare const OAuthTokenIntrospectionResponseTokenTypeEnum: {
    readonly OIDC_ACCESS_TOKEN: "OIDC_ACCESS_TOKEN";
    readonly OIDC_ID_TOKEN: "OIDC_ID_TOKEN";
    readonly PERSONAL_ACCESS_TOKEN: "PERSONAL_ACCESS_TOKEN";
    readonly WEBHOOK_MESSAGE_TOKEN: "WEBHOOK_MESSAGE_TOKEN";
};
export type OAuthTokenIntrospectionResponseTokenTypeEnum = typeof OAuthTokenIntrospectionResponseTokenTypeEnum[keyof typeof OAuthTokenIntrospectionResponseTokenTypeEnum];
/**
 * Check if a given object implements the OAuthTokenIntrospectionResponse interface.
 */
export declare function instanceOfOAuthTokenIntrospectionResponse(value: object): value is OAuthTokenIntrospectionResponse;
export declare function OAuthTokenIntrospectionResponseFromJSON(json: any): OAuthTokenIntrospectionResponse;
export declare function OAuthTokenIntrospectionResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): OAuthTokenIntrospectionResponse;
export declare function OAuthTokenIntrospectionResponseToJSON(json: any): OAuthTokenIntrospectionResponse;
export declare function OAuthTokenIntrospectionResponseToJSONTyped(value?: OAuthTokenIntrospectionResponse | null, ignoreDiscriminator?: boolean): any;
