import type { Filter, FilterContext, FilterResult, JsonObject } from '../types.js';
interface ToolFilterConfigCategoryPolicy {
    mode?: 'allow' | 'block' | 'require_content';
    requireContentTypes?: string[];
}
interface ToolFilterConfig {
    categories?: {
        vision?: ToolFilterConfigCategoryPolicy;
        mcp?: ToolFilterConfigCategoryPolicy;
    };
}
export declare function setGlobalToolFilterConfig(cfg: ToolFilterConfig | undefined): void;
export declare function getGlobalToolFilterConfig(): ToolFilterConfig;
export declare class ToolFilterHookFilter implements Filter<JsonObject> {
    readonly name = "tool_filter_hook";
    readonly stage: FilterContext['stage'];
    apply(input: JsonObject, ctx: FilterContext): FilterResult<JsonObject>;
}
export {};
