import type { ReturnCache } from '../../cache'; import type { BaseGuildChannelStructure, GuildMemberStructure, GuildStructure, InteractionGuildMemberStructure, MessageStructure, OptionResolverStructure, UserStructure, WebhookMessageStructure } from '../../client/transformers'; import { type If, type MakeRequired, type When } from '../../common'; import type { InteractionCreateBodyRequest, InteractionMessageUpdateBodyRequest, MessageWebhookCreateBodyRequest, ModalCreateBodyRequest, ModalCreateOptions } from '../../common/types/write'; import { type AllChannels, type AllGuildChannels, ChatInputCommandInteraction, type ModalSubmitInteraction } from '../../structures'; import { type RESTGetAPIGuildQuery } from '../../types'; import { BaseContext } from '../basecontext'; import type { ResolvedRegisteredMiddlewares } from '../decorators'; import type { Command, ContextOptions, OptionsRecord, SubCommand } from './chat'; import type { CommandMetadata, ExtendContext, GlobalMetadata, InferWithPrefix, UsingClient } from './shared'; type GuildCommandChannel = AllGuildChannels | BaseGuildChannelStructure; export interface CommandContext extends BaseContext, ExtendContext { } export declare class CommandContext extends BaseContext { readonly client: UsingClient; readonly resolver: OptionResolverStructure; readonly shardId: number; readonly command: Command | SubCommand; message: If; interaction: If; messageResponse?: If; constructor(client: UsingClient, data: ChatInputCommandInteraction | MessageStructure, resolver: OptionResolverStructure, shardId: number, command: Command | SubCommand); options: ContextOptions; metadata: CommandMetadata; globalMetadata: GlobalMetadata; get t(): import("../..").SeyfertLocale; get fullCommandName(): string; get deferred(): boolean; write(body: InteractionCreateBodyRequest, withResponse?: WR): Promise, void>>; modal(body: ModalCreateBodyRequest, options?: undefined): Promise; modal(body: ModalCreateBodyRequest, options: ModalCreateOptions): Promise; deferReply(ephemeral?: boolean, withResponse?: WR): Promise, When | undefined>>; editResponse(body: InteractionMessageUpdateBodyRequest): Promise>; deleteResponse(): Promise; editOrReply(body: InteractionCreateBodyRequest | InteractionMessageUpdateBodyRequest, withResponse?: WR): Promise, void>>; followup(body: MessageWebhookCreateBodyRequest): Promise>; fetchResponse(): Promise>; channel(mode?: 'rest' | 'flow'): Promise; channel(mode: 'cache'): ReturnCache>; me(mode?: 'rest' | 'flow'): Promise; me(mode: 'cache'): ReturnCache; fetchMember(mode?: 'rest' | 'flow'): Promise; fetchMember(mode: 'cache'): ReturnCache; guild(mode?: 'rest' | 'flow', query?: RESTGetAPIGuildQuery): Promise | undefined>; guild(mode: 'cache', query?: RESTGetAPIGuildQuery): ReturnCache | undefined>; get guildId(): string | undefined; get channelId(): string; get author(): UserStructure; get member(): If; isChat(): this is CommandContext; inGuild(): this is GuildCommandContext; } export interface GuildCommandContext extends Omit, 'guildId' | 'member'>, 'channel' | 'guild' | 'me' | 'fetchMember'> { channel(mode?: 'rest' | 'flow'): Promise; channel(mode: 'cache'): ReturnCache>; guild(mode?: 'rest' | 'flow'): Promise>; guild(mode: 'cache'): ReturnCache | undefined>; me(mode?: 'rest' | 'flow'): Promise; me(mode: 'cache'): ReturnCache; fetchMember(mode?: 'rest' | 'flow'): Promise; fetchMember(mode: 'cache'): ReturnCache; } export {};