import type { AllChannels, ReturnCache } from '..'; import type { GuildMemberStructure, GuildStructure, InteractionGuildMemberStructure, UserStructure, WebhookMessageStructure } from '../client/transformers'; import type { CommandMetadata, ExtendContext, GlobalMetadata, RegisteredMiddlewares, UsingClient } from '../commands'; import { BaseContext } from '../commands/basecontext'; import type { InteractionCreateBodyRequest, InteractionMessageUpdateBodyRequest, MakeRequired, MessageWebhookCreateBodyRequest, ModalCreateBodyRequest, ModalCreateOptions, UnionToTuple, When } from '../common'; import type { ModalSubmitInteraction } from '../structures'; import { type RESTGetAPIGuildQuery } from '../types'; export interface InteractionResponseContext extends BaseContext, ExtendContext { } export declare abstract class InteractionResponseContext extends BaseContext { readonly client: UsingClient; interaction: I; constructor(client: UsingClient, interaction: I); metadata: CommandMetadata>; globalMetadata: GlobalMetadata; private get _interaction(); get t(): import("..").SeyfertLocale; get customId(): string; write(body: InteractionCreateBodyRequest, fetchReply?: FR): Promise>; deferReply(ephemeral?: boolean, fetchReply?: FR): Promise>; editResponse(body: InteractionMessageUpdateBodyRequest): Promise; editOrReply(body: InteractionCreateBodyRequest | InteractionMessageUpdateBodyRequest, fetchReply?: FR): Promise>; followup(body: MessageWebhookCreateBodyRequest): Promise; fetchResponse(): Promise; deleteResponse(): Promise; modal(body: ModalCreateBodyRequest, options?: undefined): Promise; modal(body: ModalCreateBodyRequest, options: ModalCreateOptions): Promise; channel(mode?: 'rest' | 'flow'): Promise; channel(mode: 'cache'): ReturnCache; me(mode?: 'rest' | 'flow'): Promise; me(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(): InteractionGuildMemberStructure | undefined; inGuild(): boolean; } export interface GuildInteractionResponseContext extends Omit, 'guildId' | 'member'>, 'guild' | 'me'> { guild(mode?: 'rest' | 'flow'): Promise>; guild(mode: 'cache'): ReturnCache | undefined>; me(mode?: 'rest' | 'flow'): Promise; me(mode: 'cache'): ReturnCache; }