import type { JwtPayload } from 'jsonwebtoken'; import type { ConversationReference } from '@microsoft/agents-activity'; import type { TurnContext } from '../../turnContext'; /** * JWT-like claims identifying the agent for proactive authentication. * `aud` (the agent's client ID) is required; all other fields are optional. */ export interface ConversationClaims { aud: string; azp?: string; appid?: string; tid?: string; [key: string]: string | undefined; } /** * A serializable pair of a `ConversationReference` and the JWT claims needed * to authenticate proactive calls on behalf of this agent. * * Instances are stored in and retrieved from the proactive storage backend. * The `identity` getter produces the `JwtPayload` shape expected by * `adapter.continueConversation()`. */ export declare class Conversation { reference: ConversationReference; claims: ConversationClaims; constructor(context: TurnContext); constructor(claims: ConversationClaims, reference: ConversationReference); /** * Returns a `JwtPayload`-compatible object for passing to * `adapter.continueConversation()` as `botAppIdOrIdentity`. */ get identity(): JwtPayload; /** * Returns a JSON string of `{ reference, claims }` — suitable for use in * HTTP request bodies when passing a conversation to another service. */ toJson(): string; /** * Throws if any required field is missing. * Called by `Proactive.storeConversation()` before writing to storage. */ validate(): void; }