export declare function setCrosshairPosition(name: string, xValue: number, sourceId: string): void;
export declare function clearCrosshairPosition(name: string, sourceId: string): void;
/** Toggle lock: if unlocked, lock at xValue; if locked, unlock and clear. Returns new locked state. */
export declare function toggleCrosshairLock(name: string, xValue: number, sourceId: string): boolean;
/** Force-unlock a crosshair by name. When sourceId is provided, only unlocks if it matches (safe for multi-chart unmount). */
export declare function unlockCrosshair(name: string, sourceId?: string): void;
/**
 * Hook to read a specific crosshair position by name.
 * Returns the X value, sourceId, and locked state, or null if no crosshair is active.
 */
export declare function useCrosshairPosition(name: string | undefined): {
    xValue: number;
    sourceId: string;
    locked?: boolean;
} | null;
