import { type Ref } from 'vue'; import type { BlockIndicator } from '../types/ui.js'; export type IndicatorsProvider = { /** * List of all active block indicators. * * Indicators are visual badges/icons that appear on blocks * (e.g., anchor icons, schedule indicators, etc.). */ indicators: Ref; /** * UUID of the currently hovered block. * * Used to show/hide hover-specific indicators. */ hovered: Ref; /** * Add a block indicator. * * Registers a new indicator to be displayed on a block. * * @param indicator - The indicator configuration */ addIndicator: (indicator: BlockIndicator) => void; /** * Remove a block indicator. * * Removes an indicator based on its ID and the block UUID. * Both must match to remove the indicator. * * @param id - The indicator ID * @param uuid - The block UUID */ removeIndicator: (id: string, uuid: string) => void; /** * Set the currently hovered block. * * Updates the hovered state used to show hover-specific indicators. * * @param uuid - The block UUID, or null/undefined to clear */ setHovered: (uuid?: string | null) => void; }; export default function (): IndicatorsProvider;