import type { BaseToolDefinition, BaseToolHandler, BaseToolFamily, BaseToolRegistrationResult, BaseToolRiskLevel } from "./baseToolDefinition.js";
export type BaseToolRegistryOptions = {
    includeBuiltins?: boolean;
    builtinRoot?: string;
    docsRoot?: string;
};
export type BaseToolRegistrySnapshot = {
    total: number;
    builtins: number;
    customs: number;
    byFamily: Readonly<Record<BaseToolFamily, number>>;
    byRisk: Readonly<Record<BaseToolRiskLevel, number>>;
};
export type BaseToolRegistryLookupResult = {
    ok: true;
    definition: BaseToolDefinition;
} | {
    ok: false;
    error: {
        code: "TOOL_NOT_FOUND";
        message: string;
        publicSafe: true;
    };
};
export type BaseToolHandlerLookupResult = {
    ok: true;
    handler: BaseToolHandler;
} | {
    ok: false;
    error: {
        code: "TOOL_NOT_FOUND" | "HANDLER_NOT_FOUND";
        message: string;
        publicSafe: true;
    };
};
export declare const baseToolRegistryDescriptor: {
    readonly registry: "agentCore.basicTool.registry";
    readonly builtinToolCountTarget: 175;
    readonly supportsCustomTools: true;
    readonly derivesToolSkillFromMarkdownDocs: true;
    readonly agentCoreOwnsRealExecution: false;
};
export declare class BaseToolRegistry {
    #private;
    constructor(definitions?: readonly BaseToolDefinition[], handlers?: readonly BaseToolHandler[]);
    list(): readonly BaseToolDefinition[];
    lookup(toolId: string): BaseToolRegistryLookupResult;
    lookupHandler(toolId: string): BaseToolHandlerLookupResult;
    registerCustomTool(definition: BaseToolDefinition, options?: {
        replace?: boolean;
        handler?: BaseToolHandler;
    }): BaseToolRegistrationResult;
    snapshot(): BaseToolRegistrySnapshot;
}
export declare function loadBuiltinBaseToolDefinitions(options?: BaseToolRegistryOptions): readonly BaseToolDefinition[];
export declare function loadBuiltinBaseToolHandlers(): readonly BaseToolHandler[];
export declare function createBaseToolRegistry(options?: BaseToolRegistryOptions): BaseToolRegistry;
