import { Collection, type APIEmbed, type Client } from 'discord.js'; import type { IAddonManager, KythiaClient as IKythiaClient, KythiaContainer, KythiaButtonHandler, KythiaModalHandler, KythiaSelectMenuHandler, KythiaAutocompleteHandler, KythiaTaskHandler, KythiaTaskScheduleOptions, KythiaEventHandler, CommandRegistrationSummary, KythiaCommandModule, KythiaLogger } from '../types'; export default class AddonManager implements IAddonManager { client: IKythiaClient; container: KythiaContainer; logger: KythiaLogger; buttonHandlers: Map; modalHandlers: Map; selectMenuHandlers: Map; autocompleteHandlers: Map; taskHandlers: Map; queueProcessorHandlers: Map; commandCategoryMap: Map; categoryToFeatureMap: Map; embedDrafts: Collection; eventHandlers: Map; constructor({ client, container, }: { client: Client; container: KythiaContainer; }); registerButtonHandler(customId: string, handler: KythiaButtonHandler): void; registerSelectMenuHandler(customIdPrefix: string, handler: KythiaSelectMenuHandler): void; registerModalHandler(customIdPrefix: string, handler: KythiaModalHandler): void; registerAutocompleteHandler(commandName: string, handler: KythiaAutocompleteHandler): void; registerTaskHandler(taskName: string, handler: KythiaTaskHandler, schedule: string | number, options?: KythiaTaskScheduleOptions): void; registerQueueProcessor(queueName: string, processorModule: import('../types/AddonManager').DynamicModule): void; private validateDependencies; private topologicalSort; private _requireModule; private _isBaseCommandClass; private _instantiateBaseCommand; private _createBuilderFromData; registerCommand(module: KythiaCommandModule, filePath: string, commandNamesSet: Set, commandDataForDeployment: object[], permissionDefaults?: Record, options?: { folderName?: string; }): CommandRegistrationSummary | null; loadAddons(kythiaInstance: import('../Kythia').default): Promise; private _loadAddonComponents; private _loadCommandsFromPath; private _loadTopLevelCommandGroup; private _loadIndividualCommands; private _applySubcommandLocalizations; private _logAddonSummary; getHandlers(): { buttonHandlers: Map; modalHandlers: Map; selectMenuHandlers: Map; autocompleteHandlers: Map; taskHandlers: Map; commandCategoryMap: Map; categoryToFeatureMap: Map; eventHandlers: Map; }; } //# sourceMappingURL=AddonManager.d.ts.map