import type { IActionResult, IExtensionAction } from './extension-action.interface'; export interface SerializedAction { id: string; label: string; description?: string; icon?: string; category?: string; mode: string; dangerous?: boolean; parameters?: SerializedActionParameter[]; } export interface SerializedActionParameter { name: string; label: string; description?: string; type: string; required?: boolean; default?: string | number | boolean; options?: { label: string; value: string | number | boolean; }[]; validation?: { min?: number; max?: number; pattern?: string; min_length?: number; max_length?: number; }; } export declare class ExtensionActionRegistryService { private readonly logger; private readonly actions; register(extensionType: string, action: IExtensionAction): void; unregisterAll(extensionType: string): void; hasActions(extensionType: string): boolean; getActions(extensionType: string): Promise; execute(extensionType: string, actionId: string, params: Record): Promise; private validateParams; private validateParamType; private validateParamConstraints; private serializeAction; }