import { JsonWebKey } from './JsonWebKey';
/**
 * Trust OAuth2 JWT Bearer Grant Type Issuer Request Body
 * @export
 * @interface TrustOAuth2JwtGrantIssuer
 */
export interface TrustOAuth2JwtGrantIssuer {
    /**
     * The "allow_any_subject" indicates that the issuer is allowed to have any principal as the subject of the JWT.
     * @type {boolean}
     * @memberof TrustOAuth2JwtGrantIssuer
     */
    allow_any_subject?: boolean;
    /**
     * The "expires_at" indicates, when grant will expire, so we will reject assertion from "issuer" targeting "subject".
     * @type {Date}
     * @memberof TrustOAuth2JwtGrantIssuer
     */
    expires_at: Date;
    /**
     * The "issuer" identifies the principal that issued the JWT assertion (same as "iss" claim in JWT).
     * @type {string}
     * @memberof TrustOAuth2JwtGrantIssuer
     */
    issuer: string;
    /**
     *
     * @type {JsonWebKey}
     * @memberof TrustOAuth2JwtGrantIssuer
     */
    jwk: JsonWebKey;
    /**
     * The "scope" contains list of scope values (as described in Section 3.3 of OAuth 2.0 [RFC6749])
     * @type {Array<string>}
     * @memberof TrustOAuth2JwtGrantIssuer
     */
    scope: Array<string>;
    /**
     * The "subject" identifies the principal that is the subject of the JWT.
     * @type {string}
     * @memberof TrustOAuth2JwtGrantIssuer
     */
    subject?: string;
}
/**
 * Check if a given object implements the TrustOAuth2JwtGrantIssuer interface.
 */
export declare function instanceOfTrustOAuth2JwtGrantIssuer(value: object): value is TrustOAuth2JwtGrantIssuer;
export declare function TrustOAuth2JwtGrantIssuerFromJSON(json: any): TrustOAuth2JwtGrantIssuer;
export declare function TrustOAuth2JwtGrantIssuerFromJSONTyped(json: any, ignoreDiscriminator: boolean): TrustOAuth2JwtGrantIssuer;
export declare function TrustOAuth2JwtGrantIssuerToJSON(json: any): TrustOAuth2JwtGrantIssuer;
export declare function TrustOAuth2JwtGrantIssuerToJSONTyped(value?: TrustOAuth2JwtGrantIssuer | null, ignoreDiscriminator?: boolean): any;
//# sourceMappingURL=TrustOAuth2JwtGrantIssuer.d.ts.map