import type { DiscordChannel, DiscordDMChannel, DiscordFile, DiscordGuild, DiscordGuildMember, DiscordMention, DiscordMessage, DiscordReadState, DiscordRelationship, DiscordSearchOptions, DiscordSearchResult, DiscordUnreadMentionsResult, DiscordUser, DiscordUserNote, DiscordUserProfile } from './types.js'; export declare class DiscordError extends Error { code: string; constructor(message: string, code: string); } export declare class DiscordClient { private token; private buckets; private globalRateLimitUntil; login(credentials?: { token: string; }): Promise; private ensureAuth; private getBucketKey; private waitForRateLimit; private updateBucket; private handleRateLimitResponse; private sleep; private request; private requestFormData; testAuth(): Promise; listServers(): Promise; getServer(serverId: string): Promise; listChannels(serverId: string): Promise; getChannel(channelId: string): Promise; sendMessage(channelId: string, content: string, options?: { reply_to?: string; }): Promise; getMessages(channelId: string, limit?: number, options?: { around?: string; }): 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; ackMessage(channelId: string, messageId: string): Promise; listUsers(serverId: string): Promise; getUser(userId: string): Promise; uploadFile(channelId: string, filePath: string, options?: { reply_to?: string; }): Promise; listFiles(channelId: string): Promise; listDMChannels(): Promise; createDM(userId: string): Promise; getMentions(options?: { limit?: number; guildId?: string; before?: string; }): Promise; fetchReadState(): Promise; getUnreadMentions(options?: { guildId?: string; limit?: number; }): Promise; private collectMentions; getUserNote(userId: string): Promise; setUserNote(userId: string, note: string): Promise; getRelationships(): Promise; searchMembers(guildId: string, query: string, limit?: number): Promise; searchMessages(guildId: string, query: string, options?: DiscordSearchOptions): Promise<{ results: DiscordSearchResult[]; total: number; }>; getUserProfile(userId: 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; }>; } //# sourceMappingURL=client.d.ts.map