import type { CommandAcknowledgement, CommandAuthorization, CommandAutocompleteContext, CommandInteractionContext, CommandOptionDefinition, CommandPermissionOperation } from "./index.js"; export declare const NEXUS_ROOT_MODULE_ID = "helyx.nexus-core"; export declare const NEXUS_COMMAND_SPECS: readonly [{ readonly path: "balance"; readonly ownerModuleId: "helyx.nexus-core"; }, { readonly path: "history"; readonly ownerModuleId: "helyx.nexus-core"; }, { readonly path: "award.member"; readonly ownerModuleId: "helyx.nexus-core"; readonly groupDescription: "Award Nexus units to members"; }, { readonly path: "award.role"; readonly ownerModuleId: "helyx.nexus-core"; readonly groupDescription: "Award Nexus units to members"; }, { readonly path: "award.server"; readonly ownerModuleId: "helyx.nexus-core"; readonly groupDescription: "Award Nexus units to members"; }, { readonly path: "adjust"; readonly ownerModuleId: "helyx.nexus-core"; }, { readonly path: "daily"; readonly ownerModuleId: "helyx.nexus-rewards"; }, { readonly path: "leaderboard"; readonly ownerModuleId: "helyx.nexus-rewards"; }, { readonly path: "backfill.achievements"; readonly ownerModuleId: "helyx.nexus-rewards"; readonly groupDescription: "Backfill earlier Nexus rewards"; }, { readonly path: "exchange"; readonly ownerModuleId: "helyx.nexus-economy"; }, { readonly path: "redeem"; readonly ownerModuleId: "helyx.nexus-economy"; }, { readonly path: "inventory"; readonly ownerModuleId: "helyx.nexus-economy"; }, { readonly path: "requests"; readonly ownerModuleId: "helyx.nexus-economy"; }]; export type NexusCommandPath = (typeof NEXUS_COMMAND_SPECS)[number]["path"]; export interface NexusCommandContribution { path: NexusCommandPath; description: string; acknowledgement?: CommandAcknowledgement; authorization?: CommandAuthorization; permissionOperations?: readonly CommandPermissionOperation[]; options?: readonly CommandOptionDefinition[]; rateLimit?: { scope: "user" | "guild"; limit: number; windowSeconds: number; }; autocomplete?(context: CommandAutocompleteContext): Promise; execute(context: CommandInteractionContext): Promise; }