/** Type for class constructor references used in validation */ type Constructor = new (...args: unknown[]) => unknown; /** * Base class that provides validation logic for classes that require certain methods to be implemented. * Subclasses should define their own static REQUIRED_METHODS array and pass it to super() in the constructor. */ export declare abstract class BaseValidatedClass { /** Set to track validated classes for performance optimization */ private static readonly validatedClasses; /** Map to store validation errors for each class */ private static readonly validationErrors; /** * Validates that all required methods are properly implemented in the subclass. * @param requiredMethods - Array of method names that must be implemented * @param classRef - Reference to the class constructor for validation caching */ constructor(requiredMethods: string[], classRef: Constructor); /** * Validates that all required methods are properly implemented in the subclass. * This validation runs only once per class type and results are cached. */ private validateImplementation; /** * Lifecycle method for cleaning up resources (e.g., removing DOM artifacts from document.body). * Override this method in subclasses to implement custom cleanup logic. * Called when the editor is reinitialized or the extension is uninstalled. */ destroy(): void; } export {};