import { TurnContext } from 'botbuilder-core'; import { TokenResponse } from 'botframework-schema'; import { MessageExtensionAuthenticationBase } from './MessageExtensionAuthenticationBase'; import { TeamsSsoSettings } from './TeamsSsoSettings'; import { ConfidentialClientApplication } from '@azure/msal-node'; /** * @internal * * Handles authentication for Teams Message Extension using Single Sign-On (SSO). */ export declare class TeamsSsoMessageExtensionAuthentication extends MessageExtensionAuthenticationBase { private readonly settings; private readonly msal; /** * Creates a new instance of TeamsSsoMessageExtensionAuthentication. * @param {TeamsSsoSettings} settings The Teams SSO settings. * @param {ConfidentialClientApplication} msal The MSAL (Microsoft Authentication Library) instance. */ constructor(settings: TeamsSsoSettings, msal: ConfidentialClientApplication); /** * Checks if the activity is a valid Message Extension activity that supports SSO * @param {TurnContext} context The turn context. * @returns {boolean} A boolean indicating if the activity is valid. */ isValidActivity(context: TurnContext): boolean; /** * Handles the SSO token exchange. * @param {TurnContext} context The turn context. * @returns {Promise} A promise that resolves to the token response or undefined if token exchange failed. */ handleSsoTokenExchange(context: TurnContext): Promise; /** * Handles the signin/verifyState activity. * @param {TurnContext} context The turn context. * @param {string} magicCode The magic code from sign-in. * @returns {Promise} A promise that resolves to undefined. The parent class will trigger silentAuth again. */ handleUserSignIn(context: TurnContext, magicCode: string): Promise; /** * Gets the sign-in link for the user. * @param {TurnContext} context The turn context. * @returns {Promise} A promise that resolves to the sign-in link. */ getSignInLink(context: TurnContext): Promise; /** * Should sign in using SSO flow. * @param {TurnContext} context - The turn context. * @returns {boolean} - A boolean indicating if the sign-in should use SSO flow. */ isSsoSignIn(context: TurnContext): boolean; } //# sourceMappingURL=TeamsSsoMessageExtensionAuthentication.d.ts.map