import type { YagrToolRuntimeStrategy } from './tool-runtime-strategy.js';
import type { YagrAgentState, YagrRunPhase, YagrRuntimeHook } from '../types.js';
type ToolLike = {
    description?: string;
    parameters: any;
    experimental_toToolResultContent?: ((result: any) => any) | undefined;
    execute?: (args: any, options: any) => PromiseLike<any>;
};
type ToolMap = Record<string, ToolLike>;
export declare function createWorkflowPresentationGuardHook(): YagrRuntimeHook;
export declare function createWorkflowSyncCompletionGuardHook(strategy: YagrToolRuntimeStrategy): YagrRuntimeHook;
export declare function createN8nSetupGuardHook(): YagrRuntimeHook;
export declare function createDefaultRuntimeHooks(): YagrRuntimeHook[];
export declare function createDefaultRuntimeHooksForStrategy(strategy: YagrToolRuntimeStrategy): YagrRuntimeHook[];
export declare function wrapToolsWithRuntimeHooks<T extends ToolMap>(tools: T, hooks: YagrRuntimeHook[] | undefined, getContext: () => {
    runId: string;
    phase: YagrRunPhase | null;
    state: YagrAgentState;
}, satisfiedRequiredActionIds?: string[] | undefined): T;
export {};
//# sourceMappingURL=policy-hooks.d.ts.map