import type { ContextMenuCommand, InteractionGuildMemberStructure, ReturnCache } from '../..'; import { type GuildMemberStructure, type GuildStructure, type MessageStructure, type UserStructure, type WebhookMessageStructure } from '../../client/transformers'; import { type InteractionCreateBodyRequest, type InteractionMessageUpdateBodyRequest, type MakeRequired, type MessageWebhookCreateBodyRequest, type ModalCreateBodyRequest, type ModalCreateOptions, type When } from '../../common'; import type { AllChannels, MessageCommandInteraction, ModalSubmitInteraction, UserCommandInteraction } from '../../structures'; import { type RESTGetAPIGuildQuery } from '../../types'; import { BaseContext } from '../basecontext'; import type { ResolvedRegisteredMiddlewares } from '../decorators'; import type { CommandMetadata, ExtendContext, GlobalMetadata, UsingClient } from './shared'; export type InteractionTarget = T extends MessageCommandInteraction ? MessageStructure : UserStructure; export interface MenuCommandContext extends BaseContext, ExtendContext { } export declare class MenuCommandContext extends BaseContext { readonly client: UsingClient; readonly interaction: T; readonly shardId: number; readonly command: ContextMenuCommand; constructor(client: UsingClient, interaction: T, shardId: number, command: ContextMenuCommand); metadata: CommandMetadata; globalMetadata: GlobalMetadata; get target(): InteractionTarget; get t(): import("../..").SeyfertLocale; get fullCommandName(): string; get deferred(): boolean; write(body: InteractionCreateBodyRequest, withResponse?: WR): Promise>; modal(body: ModalCreateBodyRequest, options?: undefined): Promise; modal(body: ModalCreateBodyRequest, options: ModalCreateOptions): Promise; deferReply(ephemeral?: boolean, withResponse?: WR): Promise>; editResponse(body: InteractionMessageUpdateBodyRequest): Promise; deleteResponse(): Promise; editOrReply(body: InteractionCreateBodyRequest | InteractionMessageUpdateBodyRequest, withResponse?: WR): Promise>; followup(body: MessageWebhookCreateBodyRequest): Promise; fetchResponse(): 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; isMenu(): this is MenuCommandContext; isMenuUser(): this is MenuCommandContext; isMenuMessage(): this is MenuCommandContext; inGuild(): this is GuildMenuCommandContext; } export interface GuildMenuCommandContext extends Omit, 'guildId' | 'member'>, 'guild'> { guild(mode?: 'rest' | 'flow'): Promise>; guild(mode: 'cache'): ReturnCache | undefined>; }