import { Repository } from 'typeorm';
import { ToolHook } from '../core-entities';
import { CreateToolHookDto } from './dto/create-tool-hook.dto';
import { UpdateToolHookDto } from './dto/update-tool-hook.dto';
export declare class ToolHooksService {
    private readonly toolHooksRepository;
    private readonly logger;
    private readonly projectRoot;
    private readonly hooksDir;
    constructor(toolHooksRepository: Repository<ToolHook>);
    private ensureHooksDir;
    private createExampleFiles;
    findAll(): Promise<ToolHook[]>;
    create(dto: CreateToolHookDto): Promise<ToolHook>;
    update(id: string, dto: UpdateToolHookDto): Promise<ToolHook>;
    remove(id: string): Promise<void>;
    findByTrigger(toolName: string, timing: 'before' | 'after'): Promise<ToolHook[]>;
    listScripts(): Promise<string[]>;
    createScript(filename: string, content: string): Promise<void>;
    generateTemplate(toolName: string): string;
    private pascalCase;
    private getArgsInterface;
    generateSamplePayload(toolName: string, timing: 'before' | 'after'): any;
    private getSampleArgs;
    executeHook(scriptFilename: string, payload: any): Promise<any>;
    testHook(scriptFilename: string, payload: any): Promise<{
        result: any;
        logs: string[];
    }>;
    private runScript;
}
