import type { ToolToolbarButtonDefinition, ToolToolbarRenderResult, ToolbarContext } from "../../services/ToolRegistry.js";
export type ToolOverlaySurface = "default" | "frameless";
export declare function createScopedVisibilityBinding(toolId: string, toolbarContext: ToolbarContext): {
    fullToolId: string;
    isActive: () => boolean;
    subscribeActive: ToolToolbarRenderResult["subscribeActive"];
};
export declare function syncButtonAndOverlayVisibility(args: {
    button: ToolToolbarButtonDefinition;
    overlay: {
        visible?: boolean;
    };
    isActive: () => boolean;
    onActiveChange?: (active: boolean) => void;
}): void;
export declare function applyOverlaySurface(overlay: HTMLElement, surface: ToolOverlaySurface): void;
