export = IdentityServiceSecurityContext;
/**
 * @typedef {import('../service/IdentityService')} IdentityService
 * @typedef {import('../token/IdentityServiceToken')} IdentityServiceToken
 * @typedef {import('../util/Types').SecurityContextConfig} SecurityContextConfig
 */
/** @extends {SecurityContext<IdentityService, IdentityServiceToken>} */
declare class IdentityServiceSecurityContext extends SecurityContext<import("../service/IdentityService"), import("../token/IdentityServiceToken")> {
    /**
     * @param {IdentityService|null} service
     * @param {IdentityServiceToken} token
     * @param {SecurityContextConfig} [contextConfig]
     */
    constructor(service: IdentityService | null, token: IdentityServiceToken, contextConfig?: SecurityContextConfig);
    /**
     * Returns the service plans of the consumer application.
     * This method is only available if the context was created from an app2service token and a service with proof token validation enabled.
     * @returns {string[]}
     */
    get servicePlans(): string[];
    /**
     * Checks whether the token from which this context was created is a token fetched by the OAuth 2.0 client for internal use.
     * This method requires the IdentityService instance to have x5t validation enabled.
     * @returns {boolean} true if the token was fetched via client credentials flow with the credentials of this context's IdentityService instance, false otherwise.
     */
    isInternal(): boolean;
}
declare namespace IdentityServiceSecurityContext {
    export { IdentityService, IdentityServiceToken, SecurityContextConfig };
}
import SecurityContext = require("./SecurityContext");
type IdentityService = import("../service/IdentityService");
type IdentityServiceToken = import("../token/IdentityServiceToken");
type SecurityContextConfig = import("../util/Types").SecurityContextConfig;
//# sourceMappingURL=IdentityServiceSecurityContext.d.ts.map