import { TeamsCredentialManager } from './credential-manager.js'; import type { TeamsAccountType, TeamsChannel, TeamsChat, TeamsFile, TeamsMessage, TeamsRegion, TeamsSearchResult, TeamsTeam, TeamsUser } from './types.js'; export declare class TeamsClient { private credManager; private token; private tokenExpiresAt?; private isPersonalAccount; private region; private regionDiscovered; private tokenProvider?; private buckets; private globalRateLimitUntil; constructor(credManager?: TeamsCredentialManager); login(credentials?: { token: string; tokenExpiresAt?: string; accountType?: TeamsAccountType; region?: TeamsRegion; }): Promise; getRegion(): TeamsRegion; getToken(): string; getAccountType(): TeamsAccountType; getIdToken(): Promise; private ensureAuth; private isTokenExpired; private getBucketKey; private waitForRateLimit; private updateBucket; private handleRateLimitResponse; private sleep; private getMsgApiBase; private discoverRegion; private request; private requestFormData; testAuth(): Promise; listTeams(): Promise; buildChannelTeamMap(): Promise>; listChats(): Promise; getChatMessages(chatId: string, limit?: number): Promise; sendChatMessage(chatId: string, content: string): Promise; editChatMessage(chatId: string, messageId: string, content: string): Promise; getTeam(teamId: string): Promise; listChannels(teamId: string): Promise; getChannel(teamId: string, channelId: string): Promise; sendMessage(teamId: string, channelId: string, content: string, rootMessageId?: string): Promise; getMessages(teamId: string, channelId: string, limit?: number): Promise; getThreadReplies(teamId: string, channelId: string, rootMessageId: string, limit?: number): Promise; searchMessages(query: string, opts?: { limit?: number; from?: number; }): Promise; private getTokenProvider; getMessage(teamId: string, channelId: string, messageId: string): Promise; deleteMessage(teamId: string, channelId: string, messageId: string): Promise; addReaction(teamId: string, channelId: string, messageId: string, emoji: string): Promise; removeReaction(teamId: string, channelId: string, messageId: string, emoji: string): Promise; listUsers(teamId: string): Promise; getUser(userId: string): Promise; uploadFile(teamId: string, channelId: string, filePath: string): Promise; listFiles(teamId: string, channelId: string): Promise; downloadFile(teamId: string, channelId: string, fileId: string): Promise<{ buffer: Buffer; file: TeamsFile; }>; } //# sourceMappingURL=client.d.ts.map