import type { ToolContext } from "../services/tool-context.js";
import type { ToolbarContext } from "../services/ToolRegistry.js";
export type ToolTagMap = Record<string, string>;
export type ToolComponentFactory = (args: {
    toolId: string;
    tagName: string;
    context: ToolContext;
    toolbarContext: ToolbarContext;
}) => HTMLElement;
export type ToolComponentFactoryMap = Record<string, ToolComponentFactory>;
export interface ToolComponentOverrides {
    toolTagMap?: Partial<ToolTagMap>;
    toolComponentFactory?: ToolComponentFactory;
    toolComponentFactories?: Partial<ToolComponentFactoryMap>;
}
/**
 * Canonical default web component tag mapping for toolkit tools.
 * Integrators can override any entry via ToolComponentOverrides.
 */
export declare const DEFAULT_TOOL_TAG_MAP: ToolTagMap;
export declare const resolveToolTag: (toolId: string, overrides?: ToolComponentOverrides) => string;
export declare const createToolElement: (toolId: string, context: ToolContext, toolbarContext: ToolbarContext, overrides?: ToolComponentOverrides) => HTMLElement;
export declare const toToolIdFromTag: (tagName: string, overrides?: ToolComponentOverrides) => string | undefined;
