import type { NezonComponentContext } from '../interfaces/component-context.interface'; export type ButtonClickHandler = (context: NezonComponentContext) => Promise | void; export declare class ButtonClickRegistryService { private handlers; /** * Registers a click handler for a button with the given custom ID. * * @param customId - The custom ID of the button * @param handler - The handler function to execute when the button is clicked */ register(customId: string, handler: ButtonClickHandler): void; /** * Unregisters a click handler for a button. * * @param customId - The custom ID of the button */ unregister(customId: string): void; /** * Gets the handler for a button click event. * * @param customId - The custom ID of the button * @returns The handler function if found, undefined otherwise */ getHandler(customId: string): ButtonClickHandler | undefined; /** * Checks if a handler exists for the given custom ID. * * @param customId - The custom ID of the button * @returns True if a handler exists, false otherwise */ hasHandler(customId: string): boolean; /** * Executes the handler for a button click if one exists. * * @param customId - The custom ID of the button * @param context - The component context */ execute(customId: string, context: NezonComponentContext): Promise; /** * Clears all registered handlers. */ clear(): void; }