import type { DestinationOptions, IasOptions } from './destination'; import type { Service } from './environment-accessor'; import type { ClientCredentialsResponse } from './xsuaa-service-types'; import type { JwtPayload } from './jsonwebtoken-type'; export { identityServicesCache } from './environment-accessor'; /** * @internal * Represents the response to an IAS token request using client credentials or JWT bearer grant. * This interface extends the XSUAA `ClientCredentialsResponse` response with IAS-specific fields. */ export interface IasTokenResponse extends ClientCredentialsResponse { /** * Audience claim from the JWT token. */ aud: string | string[]; /** * IAS API resources. Empty when no resource parameter is specified in the token request. */ ias_apis: string[]; /** * The SCIM ID of the user (not present for technical user tokens). */ scim_id?: string; /** * Custom issuer claim from the JWT token. */ custom_iss?: string; /** * Application tenant ID claim from the JWT token. */ app_tid?: string; /** * IAS tokens don't have scope property. */ scope: ''; /** * @internal */ refresh_token?: string; } /** * @internal * Checks whether the IAS token to XSUAA token exchange should be applied. * @param options - Configuration for how to retrieve destinations from the destination service. * @returns A boolean value, that indicates whether the token exchange should be applied. */ export declare function shouldExchangeToken(options: DestinationOptions): boolean; /** * Make a client credentials request against the IAS OAuth2 endpoint. * Supports both certificate-based (mTLS) and client secret authentication. * @param service - Service as it is defined in the environment variable. * @param options - Options for token fetching, including authenticationType to specify authentication mode, optional resource parameter for app2app, appTid for multi-tenant scenarios, and extraParams for additional OAuth2 parameters. * @returns Client credentials token response. * @internal */ export declare function getIasToken(service: string | Service, options?: IasOptions & { jwt?: JwtPayload; }): Promise;