commandkit 0.1.11-dev.20250306152436 → 0.1.11-dev.20250308073818

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1007,131 +1007,165 @@ declare class MiddlewareContext<T extends CommandExecutionMode = CommandExecutio
1007
1007
  cancel(): void;
1008
1008
  }
1009
1009
 
1010
+ /**
1011
+ * Represents a command file info parsed from the file system.
1012
+ * It does not contain any command specific data, as that's loaded later by the command handler.
1013
+ */
1010
1014
  interface ParsedCommand {
1011
1015
  /**
1012
- * The unique identifier of this command.
1016
+ * The unique identifier of the command. This is used to distinguish between commands that may have the same name.
1013
1017
  */
1014
1018
  id: string;
1015
1019
  /**
1016
- * The file name without the extension.
1020
+ * The file name of the command.
1017
1021
  */
1018
1022
  name: string;
1019
1023
  /**
1020
- * The full path to the command file.
1021
- * This can be null for directories that function as command groups but have no index file.
1024
+ * The absolute path to the command file.
1022
1025
  */
1023
- path: string | null;
1026
+ path: string;
1024
1027
  /**
1025
- * The category of the command.
1028
+ * The relative path from the cwd to the command file.
1026
1029
  */
1027
- category: string | null;
1030
+ relativePath: string;
1028
1031
  /**
1029
- * The subcommands of this command parsed from `(category)` format, but omitting the brackets.
1032
+ * The category of this command. This will be the parent directory segment that matches /(category)/ in the path.
1033
+ * When there are multiple segments, they are combined with a colon.
1034
+ * Example: `/commands/(games)/tictactoe.js` -> category is `games`
1035
+ * Example: `/commands/(games)/(fun)/tictactoe.js` -> category is `games:fun`
1036
+ * Category is `null` if the parent directory segment does not match `/(\w+)/`.
1030
1037
  */
1031
- subcommands: string[];
1038
+ category: string | null;
1032
1039
  /**
1033
- * The middlewares of this command.
1040
+ * Array of ids referencing the associated middleware for this command.
1034
1041
  */
1035
1042
  middlewares: string[];
1043
+ /**
1044
+ * Array of ids referencing the associated subcommands for this command.
1045
+ */
1046
+ subcommands: string[];
1036
1047
  }
1037
- interface ParsedSubCommand {
1048
+ /**
1049
+ * Represents a middleware file info parsed from the file system.
1050
+ */
1051
+ interface ParsedMiddleware {
1038
1052
  /**
1039
- * The unique identifier of this subcommand.
1053
+ * The unique identifier of the middleware. This is used to distinguish between middlewares that may have the same name.
1040
1054
  */
1041
1055
  id: string;
1042
1056
  /**
1043
- * The file name without the extension.
1057
+ * The file name of the middleware.
1044
1058
  */
1045
1059
  name: string;
1046
1060
  /**
1047
- * The full path to the subcommand file.
1061
+ * The absolute path to the middleware file.
1048
1062
  */
1049
1063
  path: string;
1050
1064
  /**
1051
- * The category of the subcommand parsed from `(category)` format, but omitting the brackets.
1052
- */
1053
- category: string | null;
1054
- /**
1055
- * The subcommand group name for this subcommand.
1065
+ * The relative path from the cwd to the middleware file.
1056
1066
  */
1057
- group: string | null;
1067
+ relativePath: string;
1058
1068
  /**
1059
- * The middlewares of this subcommand.
1069
+ * The category of this middleware. This will be the parent directory segment that matches /(category)/ in the path.
1060
1070
  */
1061
- middlewares: string[];
1071
+ category: string | null;
1062
1072
  }
1063
- interface ParsedMiddleware {
1073
+ /**
1074
+ * Represents a subcommand file info parsed from the file system.
1075
+ */
1076
+ interface ParsedSubCommand {
1064
1077
  /**
1065
- * The file name without the extension.
1078
+ * The unique identifier of the subcommand. This is used to distinguish between subcommands that may have the same name.
1066
1079
  */
1067
- name: string;
1080
+ id: string;
1068
1081
  /**
1069
- * The unique identifier of this middleware.
1082
+ * The name of the subcommand.
1070
1083
  */
1071
- id: string;
1084
+ name: string;
1072
1085
  /**
1073
- * The full path to this middleware file.
1086
+ * The group name of the subcommand. This is used to group subcommands together in the Discord UI.
1074
1087
  */
1075
- path: string;
1088
+ group: string | null;
1076
1089
  /**
1077
- * The category of this middleware.
1090
+ * The category of this subcommand. This will be the parent directory segment that matches /(category)/ in the path.
1078
1091
  */
1079
1092
  category: string | null;
1080
- }
1081
- interface CommandsTree {
1082
1093
  /**
1083
- * The record of commands mapped by their unique identifiers.
1094
+ * The absolute path to the subcommand file.
1084
1095
  */
1085
- commands: Record<string, ParsedCommand>;
1096
+ path: string;
1086
1097
  /**
1087
- * The record of subcommands mapped by their unique identifiers.
1098
+ * The relative path from the cwd to the subcommand file.
1088
1099
  */
1089
- subcommands: Record<string, ParsedSubCommand>;
1100
+ relativePath: string;
1090
1101
  /**
1091
- * The record of middlewares mapped by their unique identifiers.
1102
+ * Array of ids referencing the associated middleware for this subcommand.
1092
1103
  */
1104
+ middlewares: string[];
1105
+ }
1106
+ /**
1107
+ * Represents a JSON compatible object that contains all the parsed commands, middlewares, and subcommands.
1108
+ */
1109
+ interface CommandTree {
1110
+ commands: Record<string, ParsedCommand>;
1093
1111
  middlewares: Record<string, ParsedMiddleware>;
1112
+ subcommands: Record<string, ParsedSubCommand>;
1094
1113
  }
1095
- interface ParsedCommandsData {
1096
- /**
1097
- * The collection of parsed commands.
1098
- */
1114
+ /**
1115
+ * Represents the scanned and parsed command files.
1116
+ */
1117
+ interface ParsedCommandData {
1099
1118
  commands: Collection<string, ParsedCommand>;
1100
- /**
1101
- * The collection of parsed subcommands.
1102
- */
1103
- subcommands: Collection<string, ParsedSubCommand>;
1104
- /**
1105
- * The collection of parsed middlewares.
1106
- */
1107
1119
  middlewares: Collection<string, ParsedMiddleware>;
1120
+ subcommands: Collection<string, ParsedSubCommand>;
1108
1121
  }
1109
1122
  interface CommandsRouterOptions {
1110
1123
  /**
1111
- * The entrypoint directory to scan for commands.
1124
+ * The path to the directory containing the command files.
1112
1125
  */
1113
1126
  entrypoint: string;
1114
1127
  }
1115
1128
  declare class CommandsRouter {
1116
- private readonly options;
1129
+ private options;
1117
1130
  private commands;
1118
- private subcommands;
1119
1131
  private middlewares;
1132
+ private subcommands;
1120
1133
  constructor(options: CommandsRouterOptions);
1121
- get entrypoint(): string;
1122
1134
  isValidPath(): boolean;
1123
- getData(): ParsedCommandsData;
1124
- toJSON(): CommandsTree;
1135
+ get entrypoint(): string;
1125
1136
  clear(): void;
1126
- reload(): Promise<CommandsTree>;
1127
- scan(): Promise<CommandsTree>;
1128
- private scanDirectory;
1129
- private processMiddlewares;
1137
+ reload(): Promise<CommandTree>;
1138
+ visualize(): string;
1139
+ getData(): ParsedCommandData;
1140
+ toJSON(): CommandTree;
1141
+ scan(): Promise<CommandTree>;
1142
+ private scanDeep;
1143
+ /**
1144
+ * Gets path segments between two paths, excluding the start and end paths
1145
+ * Used to check if all directories between a path and the entrypoint are category directories
1146
+ */
1147
+ private getPathSegmentsBetween;
1148
+ private processMiddleware;
1149
+ private processSubcommand;
1130
1150
  private processCommand;
1131
- private processCommandDirectory;
1132
- private processSubCommand;
1133
- private parseNameAndCategory;
1134
- private findAssociatedMiddlewares;
1151
+ private extractDirOmitCategory;
1152
+ /**
1153
+ * Gets the appropriate file name, handling index files specially
1154
+ * For index files, it returns the parent directory name (excluding category markers)
1155
+ */
1156
+ private getAppropriateFileName;
1157
+ /**
1158
+ * Extract the clean directory name, removing any category markers
1159
+ */
1160
+ private getDirectoryName;
1161
+ private isCategoryDirectory;
1162
+ private applyMiddlewareToCommands;
1163
+ private applySubcommandToCommands;
1164
+ private extractCategory;
1165
+ private getRelativePath;
1166
+ private isMiddleware;
1167
+ private shouldIgnore;
1168
+ private extractName;
1135
1169
  }
1136
1170
 
1137
1171
  /**
@@ -1308,6 +1342,154 @@ declare class AppCommandHandler {
1308
1342
  applyLocalizations(command: CommandBuilderLike): Promise<discord_js.RESTPostAPIContextMenuApplicationCommandsJSONBody | CommandBuilderLike>;
1309
1343
  }
1310
1344
 
1345
+ declare class MemoryCache extends CacheProvider {
1346
+ #private;
1347
+ get<T>(key: string): Promise<CacheEntry<T> | undefined>;
1348
+ set<T>(key: string, value: T, ttl?: number): Promise<void>;
1349
+ exists(key: string): Promise<boolean>;
1350
+ delete(key: string): Promise<void>;
1351
+ clear(): Promise<void>;
1352
+ expire(key: string, ttl: number): Promise<void>;
1353
+ }
1354
+
1355
+ /**
1356
+ * Context for managing cache operations within an async scope
1357
+ */
1358
+ interface CacheContext {
1359
+ params: {
1360
+ /** Custom name for the cache entry */
1361
+ name?: string;
1362
+ /** Time-to-live in milliseconds */
1363
+ ttl?: number;
1364
+ };
1365
+ }
1366
+ /**
1367
+ * Represents an async function that can be cached
1368
+ * @template R - Array of argument types
1369
+ * @template T - Return type
1370
+ */
1371
+ type AsyncFunction<R extends any[] = any[], T = any> = (...args: R) => Promise<T>;
1372
+ /**
1373
+ * Configuration options for cache behavior
1374
+ */
1375
+ interface CacheMetadata {
1376
+ /** Time-to-live duration in milliseconds or as a string (e.g., '1h', '5m') */
1377
+ ttl?: number | string;
1378
+ /** Custom name for the cache entry */
1379
+ name?: string;
1380
+ }
1381
+ /**
1382
+ * Internal cache implementation
1383
+ * @internal
1384
+ * @private
1385
+ * This is used directly by the compiler if the function is annotated with `"use cache"` directive.
1386
+ * @example
1387
+ * ```ts
1388
+ * async function myCachedFunction() {
1389
+ * "use cache";
1390
+ * // can use cacheTag() and cacheLife() here to customize cache behavior
1391
+ * return await db.query('SELECT * FROM users');
1392
+ * }
1393
+ * ```
1394
+ */
1395
+ declare function useCache<R extends any[], F extends AsyncFunction<R>>(fn: F, id?: string, params?: CacheMetadata): F;
1396
+ /**
1397
+ * Wraps an async function with caching capability
1398
+ * @template R - Array of argument types
1399
+ * @template F - Type of the async function
1400
+ * @param fn - The async function to cache
1401
+ * @param params - Optional cache configuration
1402
+ * @returns The wrapped function with caching behavior
1403
+ * @example
1404
+ * ```ts
1405
+ * const cachedFetch = cache(async (id: string) => {
1406
+ * return await db.findOne(id);
1407
+ * }, { ttl: '1h' });
1408
+ * ```
1409
+ */
1410
+ declare function cache<R extends any[], F extends AsyncFunction<R>>(fn: F, params?: CacheMetadata): F;
1411
+ /**
1412
+ * Sets a custom identifier for the current cache operation
1413
+ * @param tag - The custom cache tag
1414
+ * @throws {Error} When called outside a cached function or without a tag
1415
+ * @example
1416
+ * ```ts
1417
+ * const fetchUser = cache(async (id: string) => {
1418
+ * cacheTag(`user:${id}`);
1419
+ * return await db.users.findOne(id);
1420
+ * });
1421
+ * ```
1422
+ */
1423
+ declare function cacheTag(tag: string): void;
1424
+ /**
1425
+ * Sets the TTL for the current cache operation
1426
+ * @param ttl - Time-to-live in milliseconds or as a string (e.g., '1h', '5m')
1427
+ * @throws {Error} When called outside a cached function or with invalid TTL
1428
+ * @example
1429
+ * ```ts
1430
+ * const fetchData = cache(async () => {
1431
+ * cacheLife('30m');
1432
+ * return await expensiveOperation();
1433
+ * });
1434
+ * ```
1435
+ */
1436
+ declare function cacheLife(ttl: number | string): void;
1437
+ /**
1438
+ * Removes a cached value by its tag
1439
+ * @param tag - The cache tag to invalidate
1440
+ * @throws {Error} When the cache key is not found
1441
+ * @example
1442
+ * ```ts
1443
+ * await invalidate('user:123');
1444
+ * ```
1445
+ */
1446
+ declare function invalidate(tag: string): Promise<void>;
1447
+ /**
1448
+ * Forces a refresh of cached data by its tag (on-demand revalidation)
1449
+ * @template T - Type of the cached value
1450
+ * @param tag - The cache tag to revalidate
1451
+ * @param args - Arguments to pass to the cached function
1452
+ * @returns Fresh data from the cached function
1453
+ * @throws {Error} When the cache key or function is not found
1454
+ * @example
1455
+ * ```ts
1456
+ * const freshData = await revalidate('user:123');
1457
+ * ```
1458
+ */
1459
+ declare function revalidate<T = unknown>(tag: string, ...args: any[]): Promise<T>;
1460
+ /**
1461
+ * Checks if a function is wrapped with cache functionality
1462
+ * @param fn - Function to check
1463
+ * @returns True if the function is cached
1464
+ * @example
1465
+ * ```ts
1466
+ * if (isCachedFunction(myFunction)) {
1467
+ * console.log('Function is cached');
1468
+ * }
1469
+ * ```
1470
+ */
1471
+ declare function isCachedFunction(fn: GenericFunction): boolean;
1472
+
1473
+ type ListenerFunction = GenericFunction | AsyncFunction;
1474
+ declare class CommandKitEventsChannel {
1475
+ readonly commandkit: CommandKit;
1476
+ private emitter;
1477
+ constructor(commandkit: CommandKit);
1478
+ to(namespace: string): {
1479
+ on: (event: string, listener: ListenerFunction) => void;
1480
+ off: (event: string, listener: ListenerFunction) => void;
1481
+ once: (event: string, listener: ListenerFunction) => void;
1482
+ emit: (event: string, ...args: any[]) => boolean;
1483
+ removeAllListeners: (event: string) => void;
1484
+ };
1485
+ on(namespace: string, event: string, listener: ListenerFunction): void;
1486
+ off(namespace: string, event: string, listener: ListenerFunction): void;
1487
+ once(namespace: string, event: string, listener: ListenerFunction): void;
1488
+ emit(namespace: string, event: string, ...args: any[]): boolean;
1489
+ removeAllListeners(namespace: string): void;
1490
+ removeAllListeners(namespace: string, event: string): void;
1491
+ }
1492
+
1311
1493
  declare class AppEventsHandler {
1312
1494
  readonly commandkit: CommandKit;
1313
1495
  private loadedEvents;
@@ -1471,6 +1653,7 @@ declare class DefaultLocalizationStrategy implements LocalizationStrategy {
1471
1653
  private translations;
1472
1654
  constructor(commandkit: CommandKit);
1473
1655
  locateTranslation(scope: string, locale: Locale): Promise<Translation | null>;
1656
+ private generateLocaleTypes;
1474
1657
  getTranslationStrict(scope: string, locale: Locale): Promise<Translation>;
1475
1658
  getTranslation(scope: string, locale: Locale): Promise<Translation | null>;
1476
1659
  translate(request: LocalizationTranslationRequest): Promise<TranslationResult>;
@@ -1548,140 +1731,13 @@ declare abstract class RuntimePlugin<T extends PluginOptions = PluginOptions> ex
1548
1731
  executeCommand(ctx: CommandKitPluginRuntime, source: Interaction | Message$1, command: PreparedAppCommandExecution, execute: () => Promise<any>): Promise<boolean>;
1549
1732
  }
1550
1733
 
1551
- declare class MemoryCache extends CacheProvider {
1552
- #private;
1553
- get<T>(key: string): Promise<CacheEntry<T> | undefined>;
1554
- set<T>(key: string, value: T, ttl?: number): Promise<void>;
1555
- exists(key: string): Promise<boolean>;
1556
- delete(key: string): Promise<void>;
1557
- clear(): Promise<void>;
1558
- expire(key: string, ttl: number): Promise<void>;
1559
- }
1560
-
1561
- /**
1562
- * Context for managing cache operations within an async scope
1563
- */
1564
- interface CacheContext {
1565
- params: {
1566
- /** Custom name for the cache entry */
1567
- name?: string;
1568
- /** Time-to-live in milliseconds */
1569
- ttl?: number;
1570
- };
1571
- }
1572
- /**
1573
- * Represents an async function that can be cached
1574
- * @template R - Array of argument types
1575
- * @template T - Return type
1576
- */
1577
- type AsyncFunction<R extends any[] = any[], T = any> = (...args: R) => Promise<T>;
1578
- /**
1579
- * Configuration options for cache behavior
1580
- */
1581
- interface CacheMetadata {
1582
- /** Time-to-live duration in milliseconds or as a string (e.g., '1h', '5m') */
1583
- ttl?: number | string;
1584
- /** Custom name for the cache entry */
1585
- name?: string;
1586
- }
1587
- /**
1588
- * Internal cache implementation
1589
- * @internal
1590
- * @private
1591
- * This is used directly by the compiler if the function is annotated with `"use cache"` directive.
1592
- * @example
1593
- * ```ts
1594
- * async function myCachedFunction() {
1595
- * "use cache";
1596
- * // can use cacheTag() and cacheLife() here to customize cache behavior
1597
- * return await db.query('SELECT * FROM users');
1598
- * }
1599
- * ```
1600
- */
1601
- declare function useCache<R extends any[], F extends AsyncFunction<R>>(fn: F, id?: string, params?: CacheMetadata): F;
1602
- /**
1603
- * Wraps an async function with caching capability
1604
- * @template R - Array of argument types
1605
- * @template F - Type of the async function
1606
- * @param fn - The async function to cache
1607
- * @param params - Optional cache configuration
1608
- * @returns The wrapped function with caching behavior
1609
- * @example
1610
- * ```ts
1611
- * const cachedFetch = cache(async (id: string) => {
1612
- * return await db.findOne(id);
1613
- * }, { ttl: '1h' });
1614
- * ```
1615
- */
1616
- declare function cache<R extends any[], F extends AsyncFunction<R>>(fn: F, params?: CacheMetadata): F;
1617
- /**
1618
- * Sets a custom identifier for the current cache operation
1619
- * @param tag - The custom cache tag
1620
- * @throws {Error} When called outside a cached function or without a tag
1621
- * @example
1622
- * ```ts
1623
- * const fetchUser = cache(async (id: string) => {
1624
- * cacheTag(`user:${id}`);
1625
- * return await db.users.findOne(id);
1626
- * });
1627
- * ```
1628
- */
1629
- declare function cacheTag(tag: string): void;
1630
- /**
1631
- * Sets the TTL for the current cache operation
1632
- * @param ttl - Time-to-live in milliseconds or as a string (e.g., '1h', '5m')
1633
- * @throws {Error} When called outside a cached function or with invalid TTL
1634
- * @example
1635
- * ```ts
1636
- * const fetchData = cache(async () => {
1637
- * cacheLife('30m');
1638
- * return await expensiveOperation();
1639
- * });
1640
- * ```
1641
- */
1642
- declare function cacheLife(ttl: number | string): void;
1643
- /**
1644
- * Removes a cached value by its tag
1645
- * @param tag - The cache tag to invalidate
1646
- * @throws {Error} When the cache key is not found
1647
- * @example
1648
- * ```ts
1649
- * await invalidate('user:123');
1650
- * ```
1651
- */
1652
- declare function invalidate(tag: string): Promise<void>;
1653
- /**
1654
- * Forces a refresh of cached data by its tag (on-demand revalidation)
1655
- * @template T - Type of the cached value
1656
- * @param tag - The cache tag to revalidate
1657
- * @param args - Arguments to pass to the cached function
1658
- * @returns Fresh data from the cached function
1659
- * @throws {Error} When the cache key or function is not found
1660
- * @example
1661
- * ```ts
1662
- * const freshData = await revalidate('user:123');
1663
- * ```
1664
- */
1665
- declare function revalidate<T = unknown>(tag: string, ...args: any[]): Promise<T>;
1666
- /**
1667
- * Checks if a function is wrapped with cache functionality
1668
- * @param fn - Function to check
1669
- * @returns True if the function is cached
1670
- * @example
1671
- * ```ts
1672
- * if (isCachedFunction(myFunction)) {
1673
- * console.log('Function is cached');
1674
- * }
1675
- * ```
1676
- */
1677
- declare function isCachedFunction(fn: GenericFunction): boolean;
1678
-
1679
1734
  declare class CommandKitPluginRuntime extends EventTarget {
1680
1735
  readonly commandkit: CommandKit;
1681
1736
  private plugins;
1682
1737
  private onClientLogin;
1683
1738
  constructor(commandkit: CommandKit);
1684
1739
  getPlugin(pluginName: string): RuntimePlugin | null;
1740
+ softRegisterPlugin(plugin: RuntimePlugin): Promise<void>;
1685
1741
  registerPlugin(plugin: RuntimePlugin): Promise<void>;
1686
1742
  unregisterPlugin(plugin: RuntimePlugin): Promise<void>;
1687
1743
  unregisterAllPlugins(): Promise<void>;
@@ -1706,6 +1762,7 @@ declare class CommandKit extends EventEmitter {
1706
1762
  readonly commandHandler: AppCommandHandler;
1707
1763
  readonly eventHandler: AppEventsHandler;
1708
1764
  readonly plugins: CommandKitPluginRuntime;
1765
+ readonly events: CommandKitEventsChannel;
1709
1766
  static instance: CommandKit | undefined;
1710
1767
  /**
1711
1768
  * Create a new command and event handler with CommandKit.
@@ -1719,6 +1776,10 @@ declare class CommandKit extends EventEmitter {
1719
1776
  * @param token The application token to connect to the discord gateway. If not provided, it will use the `TOKEN` or `DISCORD_TOKEN` environment variable. If set to `false`, it will not login.
1720
1777
  */
1721
1778
  start(token?: string | false): Promise<void>;
1779
+ /**
1780
+ * Loads all the plugins.
1781
+ */
1782
+ loadPlugins(): Promise<void>;
1722
1783
  /**
1723
1784
  * Whether or not the commandkit application has started.
1724
1785
  */
@@ -1952,4 +2013,4 @@ declare const version: string;
1952
2013
  */
1953
2014
  declare function bootstrapCommandkitCLI(argv: string[], options?: commander.ParseOptions | undefined): Promise<void>;
1954
2015
 
1955
- export { ActionRow, type ActionRowProps, type AnyCommandExecute, type AnyCommandKitElement, AppCommandHandler, type AsyncFunction, type AutocompleteCommand, type AutocompleteCommandContext, type AutocompleteCommandMiddlewareContext, type AutocompleteProps, Button, type ButtonChildrenLike, ButtonKit, type ButtonKitPredicate, type ButtonProps, type CacheContext, type CacheEntry, type CacheMetadata, CacheProvider, type CommandContext, type CommandContextOptions, type CommandData, CommandExecutionMode, type CommandFileObject, CommandKit, type CommandKitButtonBuilderInteractionCollectorDispatch, type CommandKitButtonBuilderInteractionCollectorDispatchContextData, type CommandKitButtonBuilderOnEnd, type CommandKitConfiguration, type CommandKitElement, type CommandKitElementData, CommandKitEnvironment, type CommandKitEnvironmentInternalData, CommandKitEnvironmentType, type CommandKitLoggerOptions, type CommandKitModalBuilderInteractionCollectorDispatch, type CommandKitModalBuilderInteractionCollectorDispatchContextData, type CommandKitModalBuilderOnEnd, type CommandKitOptions, type CommandObject, type CommandOptions, type CommandProps, CommandsRouter, type CommandsRouterOptions, type CommandsTree, Context, type ContextMenuCommandProps, type ContextParameters, DefaultLocalizationStrategy, DefaultLogger, ElementType, EventInterceptor, type EventInterceptorContextData, type EventInterceptorErrorHandler, EventsRouter, type EventsRouterOptions, type EventsTree, Fragment, type FragmentElementProps, type GenericFunction, type ILogger, type InteractionCommandContext, type InteractionCommandMiddlewareContext, type LoadedCommand, Localization, type LocalizationConfig, type LocalizationStrategy, type LocalizationTranslationRequest, Logger, type LoggerImpl, type MaybeArray, MemoryCache, type MessageCommand, type MessageCommandContext, type MessageCommandMiddlewareContext, MessageCommandOptions, type MessageCommandOptionsSchema, MessageCommandParser, type MessageContextMenuCommand, type MessageContextMenuCommandContext, type MessageContextMenuCommandMiddlewareContext, type MessageContextMenuCommandProps, MiddlewareContext, Modal, ModalKit, type ModalKitPredicate, type ModalProps, type OnButtonKitClick, type OnButtonKitEnd, type OnModalKitEnd, type OnModalKitSubmit, ParagraphInput, type ParsedCommand, type ParsedCommandsData, type ParsedEvent, type ParsedMessageCommand, type ParsedMiddleware, type ParsedSubCommand, type PreparedAppCommandExecution, type ReloadOptions, ReloadType, ShortInput, type SlashCommand, type SlashCommandContext, type SlashCommandMiddlewareContext, type SlashCommandProps, TextInput, type TextInputProps, type TranslatableArguments, type TranslatableCommand, type TranslatableCommandOptions, type Translation, type TranslationResult, type Translator, type UserContextMenuCommand, type UserContextMenuCommandContext, type UserContextMenuCommandMiddlewareContext, type UserContextMenuCommandProps, type ValidationProps, afterCommand, bootstrapCommandkitCLI, cache, cacheLife, cacheTag, cancelAfterCommand, createElement, createLogger, CommandKit as default, defineConfig, dmOnly, exitContext, exitMiddleware, getCommandKit, getConfig, getContext, getElement, guildOnly, invalidate, isCachedFunction, isCommandKitElement, makeContextAwareFunction, redirect, rethrow, revalidate, useCache as super_duper_secret_internal_for_use_cache_directive_of_commandkit_cli_do_not_use_it_directly_or_you_will_be_fired_from_your_job_kthxbai, useEnvironment, version };
2016
+ export { ActionRow, type ActionRowProps, type AnyCommandExecute, type AnyCommandKitElement, AppCommandHandler, type AsyncFunction, type AutocompleteCommand, type AutocompleteCommandContext, type AutocompleteCommandMiddlewareContext, type AutocompleteProps, Button, type ButtonChildrenLike, ButtonKit, type ButtonKitPredicate, type ButtonProps, type CacheContext, type CacheEntry, type CacheMetadata, CacheProvider, type CommandContext, type CommandContextOptions, type CommandData, CommandExecutionMode, type CommandFileObject, CommandKit, type CommandKitButtonBuilderInteractionCollectorDispatch, type CommandKitButtonBuilderInteractionCollectorDispatchContextData, type CommandKitButtonBuilderOnEnd, type CommandKitConfiguration, type CommandKitElement, type CommandKitElementData, CommandKitEnvironment, type CommandKitEnvironmentInternalData, CommandKitEnvironmentType, type CommandKitLoggerOptions, type CommandKitModalBuilderInteractionCollectorDispatch, type CommandKitModalBuilderInteractionCollectorDispatchContextData, type CommandKitModalBuilderOnEnd, type CommandKitOptions, type CommandObject, type CommandOptions, type CommandProps, type CommandTree, CommandsRouter, type CommandsRouterOptions, Context, type ContextMenuCommandProps, type ContextParameters, DefaultLocalizationStrategy, DefaultLogger, ElementType, EventInterceptor, type EventInterceptorContextData, type EventInterceptorErrorHandler, EventsRouter, type EventsRouterOptions, type EventsTree, Fragment, type FragmentElementProps, type GenericFunction, type ILogger, type InteractionCommandContext, type InteractionCommandMiddlewareContext, type LoadedCommand, Localization, type LocalizationConfig, type LocalizationStrategy, type LocalizationTranslationRequest, Logger, type LoggerImpl, type MaybeArray, MemoryCache, type MessageCommand, type MessageCommandContext, type MessageCommandMiddlewareContext, MessageCommandOptions, type MessageCommandOptionsSchema, MessageCommandParser, type MessageContextMenuCommand, type MessageContextMenuCommandContext, type MessageContextMenuCommandMiddlewareContext, type MessageContextMenuCommandProps, MiddlewareContext, Modal, ModalKit, type ModalKitPredicate, type ModalProps, type OnButtonKitClick, type OnButtonKitEnd, type OnModalKitEnd, type OnModalKitSubmit, ParagraphInput, type ParsedCommand, type ParsedCommandData, type ParsedEvent, type ParsedMessageCommand, type ParsedMiddleware, type ParsedSubCommand, type PreparedAppCommandExecution, type ReloadOptions, ReloadType, ShortInput, type SlashCommand, type SlashCommandContext, type SlashCommandMiddlewareContext, type SlashCommandProps, TextInput, type TextInputProps, type TranslatableArguments, type TranslatableCommand, type TranslatableCommandOptions, type Translation, type TranslationResult, type Translator, type UserContextMenuCommand, type UserContextMenuCommandContext, type UserContextMenuCommandMiddlewareContext, type UserContextMenuCommandProps, type ValidationProps, afterCommand, bootstrapCommandkitCLI, cache, cacheLife, cacheTag, cancelAfterCommand, createElement, createLogger, CommandKit as default, defineConfig, dmOnly, exitContext, exitMiddleware, getCommandKit, getConfig, getContext, getElement, guildOnly, invalidate, isCachedFunction, isCommandKitElement, makeContextAwareFunction, redirect, rethrow, revalidate, useCache as super_duper_secret_internal_for_use_cache_directive_of_commandkit_cli_do_not_use_it_directly_or_you_will_be_fired_from_your_job_kthxbai, useEnvironment, version };