import type { DiscordChannel, DiscordFile, DiscordGuild, DiscordMessage, DiscordUser } from './types.js'; export declare class DiscordBotClient { private token; private buckets; private globalRateLimitUntil; login(credentials?: { token: string; }): Promise; private ensureAuth; private getHeaders; private getBucketKey; private waitForRateLimit; private updateBucket; private handleRateLimitResponse; private sleep; private handleErrorResponse; private request; private requestFormData; testAuth(): Promise; listGuilds(): Promise; getGuild(guildId: string): Promise; listChannels(guildId: string): Promise; getChannel(channelId: string): Promise; sendMessage(channelId: string, content: string, options?: { thread_id?: string; reply_to?: string; }): Promise; getMessages(channelId: string, limit?: number): Promise; getMessage(channelId: string, messageId: string): Promise; editMessage(channelId: string, messageId: string, content: string): Promise; deleteMessage(channelId: string, messageId: string): Promise; addReaction(channelId: string, messageId: string, emoji: string): Promise; removeReaction(channelId: string, messageId: string, emoji: string): Promise; listUsers(guildId: string): Promise; getUser(userId: string): Promise; uploadFile(channelId: string, filePath: string): Promise; listFiles(channelId: string): Promise; createThread(channelId: string, name: string, options?: { auto_archive_duration?: number; rate_limit_per_user?: number; }): Promise; archiveThread(threadId: string, archived?: boolean): Promise; gatewayConnect(): Promise<{ token: string; }>; resolveChannel(guildId: string, channel: string): Promise; } //# sourceMappingURL=client.d.ts.map