import { Bitfield, ButtonBuilder, ModalBuilder, SelectMenuBuilders } from "@discord-interactions/builders"; import { Snowflake } from "discord-api-types/globals"; import { APIInteraction, APIInteractionResponse, APIMessageComponentInteraction, APIModalSubmitInteraction, APIUser } from "discord-api-types/v10"; import { LocaleString } from "discord-api-types/v6"; import { APIInteractionGuildMember } from "discord-api-types/v9"; import type { FormData } from "formdata-node"; import { DiscordApplication, ResponseCallback } from "../DiscordApplication.js"; import { WebhookClient } from "../WebhookClient.js"; export declare class BaseInteractionContext { private responseCallback; protected replied: boolean; private repliedAt; get expired(): boolean; app: DiscordApplication; signedAt: Date; receivedAt: Date; raw?: T; interactionId: Snowflake; protected followup: WebhookClient; app_permissions: Bitfield; isDM: boolean; guildId?: Snowflake; channelId?: Snowflake; user: APIUser; member?: APIInteractionGuildMember; locale: LocaleString; guildLocale?: LocaleString; constructor(app: DiscordApplication, interaction: T, timestamps: { signature: Date; received: Date; }, responseCallback: ResponseCallback); protected _reply(message: R): Promise; rawReply(message: R): Promise; decorate(key: string, value: unknown): void; createGlobalComponent(name: string, state?: object, ttl?: number): Promise; } export declare class BaseStatefulInteractionContext extends BaseInteractionContext { id: string; private stateRef; state: S; allowExpired: boolean; parentCommand?: string; constructor(app: DiscordApplication, interaction: T, timestamps: { signature: Date; received: Date; }, responseCallback: ResponseCallback); createComponent(name: string, state?: object, ttl?: number): Promise; fetchState(): Promise; }