import type { PluginMiddlewareDenialMetadata } from '../../client/plugins/types'; import { type PermissionStrings } from '../../common'; import type { ApplicationCommandType, ApplicationIntegrationType, InteractionContextType, LocaleString } from '../../types'; import type { ResolvedRegisteredMiddlewares } from '../decorators'; import type { MenuCommandContext } from './menucontext'; import type { ExtraProps, UsingClient } from './shared'; export declare abstract class ContextMenuCommand { middlewares: readonly (keyof ResolvedRegisteredMiddlewares)[]; __filePath?: string; __t?: { name: string | undefined; description: string | undefined; }; guildId?: string[]; name: string; type: ApplicationCommandType.User | ApplicationCommandType.Message; nsfw?: boolean; integrationTypes: ApplicationIntegrationType[]; contexts: InteractionContextType[]; description: string; defaultMemberPermissions?: bigint; botPermissions?: bigint; dm?: boolean; name_localizations?: Partial>; description_localizations?: Partial>; props: ExtraProps; toJSON(): { name: string; type: ApplicationCommandType.User | ApplicationCommandType.Message; nsfw: boolean | undefined; description: string; name_localizations: Partial> | undefined; description_localizations: Partial> | undefined; guild_id: string[] | undefined; dm_permission: boolean | undefined; default_member_permissions: string | undefined; contexts: InteractionContextType[]; integration_types: ApplicationIntegrationType[]; }; reload(): Promise; onBeforeMiddlewares?(context: MenuCommandContext): any; abstract run?(context: MenuCommandContext): any; onAfterRun?(context: MenuCommandContext, error: unknown | undefined): any; onRunError?(context: MenuCommandContext, error: unknown): any; onMiddlewaresError?(context: MenuCommandContext, error: string, metadata: PluginMiddlewareDenialMetadata): any; onBotPermissionsFail?(context: MenuCommandContext, permissions: PermissionStrings): any; onInternalError?(client: UsingClient, command: ContextMenuCommand, error?: unknown): any; }