import { APIApplicationCommandOptionChoice, Snowflake, type APIMessage } from "discord-api-types/v10"; import BaseInteraction, { InteractionModalResponseData, InteractionResponseData } from "./BaseInteraction.mjs"; export declare class InteractionResponseMethods extends BaseInteraction { /** Reply to the interaction (within 3sec) */ reply(data: InteractionResponseData, fetchResponse: true): Promise; reply(data: InteractionResponseData, fetchResponse?: boolean): Promise; /** Edit a response to the interaction */ editReply(data: InteractionResponseData, messageId?: Snowflake | "@original"): Promise; /** Delete a reply from the interaction*/ deleteReply(messageId?: Snowflake | "@original"): Promise; /** Create a new */ followUp(data: InteractionResponseData): Promise; fetchReply(messageId?: Snowflake | "@original"): Promise; deferReply(data?: { ephemeral?: boolean; }): Promise; showModal(data: InteractionModalResponseData): Promise; deferUpdate(): Promise; update(data: InteractionResponseData, fetchResponse: true): Promise; update(data: InteractionResponseData, fetchResponse?: boolean): Promise; respond(choices: APIApplicationCommandOptionChoice[]): Promise; } /** @internal methods added in InteractionResponseMethods */ type ResponseMethodName = Exclude; /** * Mixin helper for adding responses to an interaction. Use in in combination with * `createInteractionMixinList` and `applyInteractionResponseMixins`. You'll see these all around. * * More about mixins: https://www.typescriptlang.org/docs/handbook/mixins.html#alternative-pattern. */ export type InteractionResponseMixin = Pick; /** * Returns the given argument, which is a typed list of methods from `InteractionResponseMethods`. */ export declare function createInteractionMixinList(list: T[]): T[]; /** * Applies the given `methods` to `base` * * @see {InteractionResponseMixin} which explains usage. */ export declare function applyInteractionResponseMixins(base: any, methods: readonly ResponseMethodName[]): void; export {};