import type { CacheType, CommandInteraction, CommandInteractionOptionResolver, ContextMenuCommandInteraction, GuildCacheMessage, InteractionDeferReplyOptions, InteractionReplyOptions, Message, MessagePayload, WebhookEditMessageOptions } from 'discord.js'; import { Context, ContextOptions } from './Context'; import type { GClient } from '../../GClient'; import type { Command } from '../Command'; export interface CommandContextOptions extends ContextOptions { interaction?: CommandInteraction | ContextMenuCommandInteraction; message?: Message; command: Command; arguments: CommandInteractionOptionResolver; deferReply: (options?: InteractionDeferReplyOptions & { fetchReply?: Fetch; }) => Promise : void>; deleteReply: () => Promise; editReply: (options: string | MessagePayload | WebhookEditMessageOptions) => Promise>; fetchReply: () => Promise>; followUp: (options: string | MessagePayload | InteractionReplyOptions) => Promise>; reply: (options?: (InteractionReplyOptions & { fetchReply?: Fetch; }) | string | MessagePayload | InteractionReplyOptions) => Promise : void>; } export declare class CommandContext extends Context { [key: string]: any; interaction?: CommandInteraction | ContextMenuCommandInteraction; message?: Message; readonly command: Command; readonly commandName: string; arguments: CommandInteractionOptionResolver; deferred: boolean; replied: boolean; deferReply: (options?: InteractionDeferReplyOptions & { fetchReply?: Fetch; }) => Promise : void>; deleteReply: () => Promise; editReply: (options: string | MessagePayload | WebhookEditMessageOptions) => Promise>; fetchReply: () => Promise>; followUp: (options: string | MessagePayload | InteractionReplyOptions) => Promise>; reply: (options?: (InteractionReplyOptions & { fetchReply?: Fetch; }) | string | MessagePayload | InteractionReplyOptions) => Promise : void>; inGuild: () => this is CommandContext<'raw' | 'cached'>; inCachedGuild: () => this is CommandContext<'cached'>; inRawGuild: () => this is CommandContext<'raw'>; constructor(client: GClient, options: CommandContextOptions); safeReply(options?: (InteractionReplyOptions & { fetchReply?: Fetch; }) | string | MessagePayload | InteractionReplyOptions): Promise : void>; } //# sourceMappingURL=CommandContext.d.ts.map