import type { CacheType, GuildCacheMessage, InteractionDeferReplyOptions, InteractionDeferUpdateOptions, InteractionReplyOptions, MessageComponentInteraction, MessagePayload, ModalSubmitFields, ModalSubmitInteraction, WebhookEditMessageOptions } from 'discord.js'; import { Context, ContextOptions } from './Context'; import type { GClient } from '../../GClient'; import type { Component } from '../Component'; export interface ComponentContextOptions extends ContextOptions { interaction: MessageComponentInteraction | ModalSubmitInteraction; component: Component; customId: string; arguments: Array; values?: Array; fields?: ModalSubmitFields; deferReply: (options?: InteractionDeferReplyOptions & { fetchReply?: Fetch; }) => Promise : void>; deferUpdate: (options?: InteractionDeferUpdateOptions & { 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>; type: 'BUTTON' | 'SELECT_MENU'; } export declare class ComponentContext extends Context { interaction: MessageComponentInteraction | ModalSubmitInteraction; readonly component: Component; readonly componentName: string; readonly customId: string; arguments: Array; values?: Array; fields?: ModalSubmitFields; deferred: boolean; replied: boolean; deferReply: (options?: InteractionDeferReplyOptions & { fetchReply?: Fetch; }) => Promise : void>; deferUpdate: (options?: InteractionDeferUpdateOptions & { 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 ComponentContext<'raw' | 'cached'>; inCachedGuild: () => this is ComponentContext<'cached'>; inRawGuild: () => this is ComponentContext<'raw'>; constructor(client: GClient, options: ComponentContextOptions); safeReply(options?: (InteractionReplyOptions & { fetchReply?: Fetch; }) | string | MessagePayload | InteractionReplyOptions): Promise : void>; } //# sourceMappingURL=ComponentContext.d.ts.map