import type { PluginMiddlewareDenialMetadata } from '../client/plugins/types'; import type { ExtraProps, ResolvedRegisteredMiddlewares, UsingClient } from '../commands'; import type { ComponentContext, ContextComponentCommandInteractionMap } from './componentcontext'; export declare const InteractionCommandType: { readonly COMPONENT: 0; readonly MODAL: 1; }; export interface ComponentCommand { __filePath?: string; } export declare abstract class ComponentCommand { type: 0; abstract componentType: keyof ContextComponentCommandInteractionMap; customId?: string | RegExp; filter?(context: ComponentContext): Promise | boolean; abstract run(context: ComponentContext): any; middlewares: readonly (keyof ResolvedRegisteredMiddlewares)[]; props: ExtraProps; get cType(): number; onBeforeMiddlewares?(context: ComponentContext): any; onAfterRun?(context: ComponentContext, error: unknown | undefined): any; onRunError?(context: ComponentContext, error: unknown): any; onMiddlewaresError?(context: ComponentContext, error: string, metadata: PluginMiddlewareDenialMetadata): any; onInternalError?(client: UsingClient, component: ComponentCommand, error?: unknown): any; }