import { type Activity } from "botbuilder"; import { type Logger } from "@/logger.js"; export interface TeamsAdapterConfig { enabled: boolean; appId?: string; appPassword?: string; appType: "MultiTenant" | "SingleTenant" | "UserAssignedMsi" | "UserAssignedMSI"; tenantId?: string; endpointPath: string; mentionOnly: boolean; allowBots: boolean; allowedTeamIds: string[]; allowedChannelIds: string[]; channelSessions?: Record; sessionCommand: string; gatewayUrl?: string; gatewayToken?: string; gatewayPassword?: string; responseChunkSize: number; } export interface TeamsAdapterGatewayConfig { url: string; token?: string; password?: string; } export declare const DEFAULT_TEAMS_ENDPOINT_PATH = "/api/adapters/teams/messages"; export declare const DEFAULT_TEAMS_RESPONSE_CHUNK = 3500; export declare function normalizeTeamsEndpointPath(path: string | undefined): string; export declare function splitTeamsMessage(text: string, maxLength?: number): string[]; export declare function extractTeamsMentionTexts(activity: Activity, botAccountId?: string): string[]; export declare function stripTeamsBotMention(content: string, mentionTexts?: string[]): string; export declare function isTeamsBotMentioned(activity: Activity, botAccountId?: string): boolean; export declare function resolveTeamsChannelSessionKey(channelId: string, channelSessions?: Record): string | undefined; export declare class TeamsGatewayAdapter { private config; private gateway; private adapter; private gatewayClient; private logger; private started; constructor(config: TeamsAdapterConfig, gateway: TeamsAdapterGatewayConfig, logger?: Logger); get endpointPath(): string; start(): Promise; stop(): Promise; handleHttpRequest(req: Request, url: URL): Promise; private handleMessage; }