import { type Constructable } from '@n8n/di';
import type { ExecutionLifecycleHooks } from 'n8n-core';
export interface BaseN8nModule {
    initialize?(): void;
    registerLifecycleHooks?(hooks: ExecutionLifecycleHooks): void;
}
type Module = Constructable<BaseN8nModule>;
export declare const registry: Set<Module>;
export declare const N8nModule: () => ClassDecorator;
export declare class ModuleRegistry {
    initializeModules(): void;
    registerLifecycleHooks(hooks: ExecutionLifecycleHooks): void;
}
export {};
