import type { AuthorizeRequestOnChallengeOptions } from "@azure/core-rest-pipeline"; /** * Converts: `Bearer a="b", c="d", Bearer d="e", f="g"`. * Into: `[ { a: 'b', c: 'd' }, { d: 'e', f: 'g' } ]`. * * @internal */ export declare function parseCAEChallenge(challenges: string): any[]; /** * CAE Challenge structure */ export interface CAEChallenge { scope: string; claims: string; } /** * This function can be used as a callback for the `bearerTokenAuthenticationPolicy` of `@azure/core-rest-pipeline`, to support CAE challenges: * [Continuous Access Evaluation](https://learn.microsoft.com/azure/active-directory/conditional-access/concept-continuous-access-evaluation). * * Call the `bearerTokenAuthenticationPolicy` with the following options: * * ```ts snippet:AuthorizeRequestOnClaimChallenge * import { bearerTokenAuthenticationPolicy } from "@azure/core-rest-pipeline"; * import { authorizeRequestOnClaimChallenge } from "@azure/core-client"; * * const policy = bearerTokenAuthenticationPolicy({ * challengeCallbacks: { * authorizeRequestOnChallenge: authorizeRequestOnClaimChallenge, * }, * scopes: ["https://service/.default"], * }); * ``` * * Once provided, the `bearerTokenAuthenticationPolicy` policy will internally handle Continuous Access Evaluation (CAE) challenges. * When it can't complete a challenge it will return the 401 (unauthorized) response from ARM. * * Example challenge with claims: * * ``` * Bearer authorization_uri="https://login.windows-ppe.net/", error="invalid_token", * error_description="User session has been revoked", * claims="eyJhY2Nlc3NfdG9rZW4iOnsibmJmIjp7ImVzc2VudGlhbCI6dHJ1ZSwgInZhbHVlIjoiMTYwMzc0MjgwMCJ9fX0=" * ``` */ export declare function authorizeRequestOnClaimChallenge(onChallengeOptions: AuthorizeRequestOnChallengeOptions): Promise; //# sourceMappingURL=authorizeRequestOnClaimChallenge.d.ts.map