import type { AgentToolContext, ToolCallContext } from "@oh-my-pi/pi-agent-core";
import type { CustomToolContext } from "../extensibility/custom-tools/types.js";
import type { ExtensionUIContext } from "../extensibility/extensions/types.js";
declare module "@oh-my-pi/pi-agent-core" {
    interface AgentToolContext extends CustomToolContext {
        ui?: ExtensionUIContext;
        hasUI?: boolean;
        toolNames?: string[];
        toolCall?: ToolCallContext;
    }
}
export declare class ToolContextStore {
    #private;
    private readonly getBaseContext;
    constructor(getBaseContext: () => CustomToolContext);
    getContext(toolCall?: ToolCallContext): AgentToolContext;
    setUIContext(uiContext: ExtensionUIContext, hasUI: boolean): void;
    setToolNames(names: string[]): void;
}
