import { ExecutionError } from "../errors/ExecutionError";
import { ContextMenuAction } from "../interfaces/ContextMenuAction";
import { ContextMenuInteraction } from "../util";
import { BaseHandler } from "./BaseHandler";
export declare class ContextMenuHandler extends BaseHandler {
    actions: ContextMenuAction[];
    actionExists(name: string, type: number): boolean;
    register(...actions: ContextMenuAction[]): ContextMenuHandler;
    /**
     * registerFromDir automatically loads files & creates class instances in the directory specified.
     * If recurse is true, it will also load context menu actions from subdirectories.
     * Auto-load context menu actions need to have a __default__ export. Otherwise they will be ignored.
     * @param dir The directory to load files from.
     * @param recurse Whether to load files from subdirectories.
     * */
    registerFromDir(dir: string, recurse?: boolean): ContextMenuHandler;
    checkConditionals(event: ContextMenuInteraction, action: ContextMenuAction): ExecutionError | undefined;
    runAction(event: ContextMenuInteraction, metadata?: any): void;
    private callErrorIfPresent;
    private static isInstanceOfCtxMenuAction;
    private static actionMapper;
}
