import { ContextMenuInteraction } from "discord.js"; import * as t from "io-ts"; import { GuildPluginData } from "../../../../../Knub/dist"; import { Awaitable } from "../../../../../Knub/dist/utils"; import { ContextMenuPluginType } from "./types"; type ContextActionApplyFn = (meta: { actionName: string; pluginData: GuildPluginData; actionConfig: TConfigType; interaction: ContextMenuInteraction; }) => Awaitable; export interface ContextActionBlueprint { configType: TConfigType; defaultConfig: Partial>; apply: ContextActionApplyFn>; } export function contextMenuAction( blueprint: ContextActionBlueprint, ): ContextActionBlueprint { return blueprint; }