import type { ServerToolHandler } from './types.js';
type TriggerMode = 'tool_call' | 'auto';
type AutoHookPhase = 'pre' | 'default' | 'post';
interface ServerToolAutoHookSpec {
    id: string;
    phase: AutoHookPhase;
    priority: number;
    order: number;
}
export interface ServerToolHandlerEntry {
    name: string;
    trigger: TriggerMode;
    handler: ServerToolHandler;
    autoHook?: ServerToolAutoHookSpec;
}
export interface ServerToolAutoHookDescriptor {
    id: string;
    phase: AutoHookPhase;
    priority: number;
    order: number;
    handler: ServerToolHandler;
}
export declare function registerServerToolHandler(name: string, handler: ServerToolHandler, options?: {
    trigger?: TriggerMode;
    priority?: number;
    phase?: AutoHookPhase | string;
    hook?: {
        priority?: number;
        phase?: AutoHookPhase | string;
    };
}): void;
export declare function getServerToolHandler(name: string): ServerToolHandlerEntry | undefined;
export declare function listAutoServerToolHandlers(): ServerToolHandlerEntry[];
export declare function listAutoServerToolHooks(): ServerToolAutoHookDescriptor[];
export {};
