import { Bot, Context, Fragment, HTTP, Schema, Universal } from '@satorijs/core'; import * as Discord from './utils'; import { DiscordMessageEncoder } from './message'; import { Internal, Webhook } from './types'; import { WsClient } from './ws'; export declare class DiscordBot extends Bot { static MessageEncoder: typeof DiscordMessageEncoder; static inject: string[]; http: HTTP; internal: Internal; webhooks: Record; webhookLock: Record>; commands: Universal.Command[]; constructor(ctx: C, config: DiscordBot.Config); private _ensureWebhook; ensureWebhook(channelId: string): Promise; getLogin(): Promise; deleteMessage(channelId: string, messageId: string): Promise; editMessage(channelId: string, messageId: string, content: Fragment): Promise; _getMessage(channelId: string, messageId: string): Promise; getMessage(channelId: string, messageId: string, recursive?: boolean): Promise; getMessageList(channelId: string, messageId?: string, direction?: Universal.Direction, limit?: number, order?: Universal.Order): Promise<{ data: Universal.Message[]; prev: string; next: string; }>; getUser(userId: string): Promise; getGuildMemberList(guildId: string, after?: string): Promise<{ data: Universal.GuildMember[]; next: string; }>; getChannel(channelId: string): Promise; getGuildMember(guildId: string, userId: string): Promise; kickGuildMember(guildId: string, userId: string): Promise; getGuild(guildId: string): Promise; getGuildList(after?: string): Promise<{ data: Universal.Guild[]; next: string; }>; getChannelList(guildId: string): Promise<{ data: Universal.Channel[]; }>; createReaction(channelId: string, messageId: string, emojiId: string): Promise; deleteReaction(channelId: string, messageId: string, emojiId: string, userId?: string): Promise; clearReaction(channelId: string, messageId: string, emojiId?: string): Promise; getReactionList(channelId: string, messageId: string, emojiId: string, after?: string): Promise<{ data: Universal.User[]; next: string; }>; setGuildMemberRole(guildId: string, userId: string, roleId: string): Promise; unsetGuildMemberRole(guildId: string, userId: string, roleId: string): Promise; getGuildMemberRoleList(guildId: string, userId: string, next?: string): Promise<{ data: { id: string; }[]; }>; getGuildRoleList(guildId: string): Promise<{ data: Universal.GuildRole[]; }>; createGuildRole(guildId: string, data: Partial): Promise; updateGuildRole(guildId: string, roleId: string, data: Partial): Promise; deleteGuildRole(guildId: string, roleId: string): Promise; createDirectChannel(userId: string): Promise; updateCommands(commands: Universal.Command[]): Promise; } export declare namespace DiscordBot { interface Config extends HTTP.Config, DiscordMessageEncoder.Config, WsClient.Options { type: 'bot' | 'user'; token: string; slash?: boolean; } const Config: Schema; }