export interface UseMatchingPairsOptions { value: Record; onChange: (pairs: Record) => void; disabled?: boolean; } export interface LastPairedIds { leftId: string; rightId: string; } export type MatchingSelection = { side: "left"; id: string; } | { side: "right"; id: string; }; export declare function useMatchingPairs({ value, onChange, disabled, }: UseMatchingPairsOptions): { selection: MatchingSelection | null; lastPaired: LastPairedIds | null; clearSelection: () => void; clearLastPaired: () => void; getRightForLeft: (leftId: string) => string; isRightPaired: (rightId: string) => boolean; isLeftPaired: (leftId: string) => boolean; getLeftForRight: (rightId: string) => string | undefined; handleLeftClick: (leftId: string) => void; handleRightClick: (rightId: string) => void; handleUnpairLeft: (leftId: string) => void; handleUnpairRight: (rightId: string) => void; };