import { HookHandler } from '../../interfaces/plugin.interfaces';
export declare class HookService {
    private readonly logger;
    private readonly hooks;
    private readonly hookPoints;
    constructor();
    private registerCoreHookPoints;
    registerHookPoint(name: string): void;
    hasHookPoint(name: string): boolean;
    getHookPoints(): string[];
    registerHandler(hookName: string, handler: HookHandler): void;
    unregisterHandler(hookName: string, handler: HookHandler): boolean;
    executeHook<T = any, R = any>(hookName: string, data: T): Promise<R[]>;
    executeHookChain<T = any, R = any>(hookName: string, initialData: T, initialResult: R): Promise<R>;
}
