/** * Base types, storage, and utilities for decorators */ import { ChatContext } from '@/types/models'; import { Logger } from '@/utils/logger'; export type DecoratorHandler = (context: ChatContext) => void | Promise; export declare function setGlobalDebugLogger(logger: Logger): void; export declare function getGlobalDebugLogger(): Logger; export declare const throttleStorage: Map>; export declare const commandRegistry: Map; export declare const controllerRegistry: Map; export declare const batchControllerRegistry: Map; export declare const bootstrapControllerRegistry: Map; export declare const controllerPrefixStorage: Map; export declare const methodPrefixStorage: Map; export declare const decoratorMetadata: Map Promise | boolean); roleLabel?: string; }>; /** * Helper function to register a controller for an event type */ export declare function registerController(eventType: string, constructor: any): void; /** * Helper function to register a batch controller */ export declare function registerBatchController(eventType: string, constructor: any): void; /** * Helper function to register a bootstrap controller */ export declare function registerBootstrapController(eventType: string, constructor: any): void; /** * Get all registered commands */ export declare function getRegisteredCommands(): Map; /** * Get all registered controllers */ export declare function getRegisteredControllers(): Map; /** * Helper function to get batch controllers */ export declare function getBatchControllers(): Map; /** * Helper function to get bootstrap controllers */ export declare function getBootstrapControllers(): Map; /** * Clear throttle data for a specific user (useful for admin commands) */ export declare function clearUserThrottle(userId: string): void; /** * Clear all throttle data */ export declare function clearAllThrottle(): void; /** * Get the prefix for a controller class */ export declare function getControllerPrefix(constructor: Function): string | undefined; /** * Get the prefix for a method */ export declare function getMethodPrefix(method: Function): string | undefined; /** * Set controller prefix programmatically */ export declare function setControllerPrefix(constructor: Function, prefix: string): void; /** * Set method prefix programmatically */ export declare function setMethodPrefix(method: Function, prefix: string): void; /** * Clear all prefix data */ export declare function clearAllPrefixes(): void; /** * Debug function to inspect decorator metadata */ export declare function debugDecoratorMetadata(controllerInstance: any): void; //# sourceMappingURL=base.d.ts.map