Two dependent Flags in my Application
I would start by looking at the Flag Module Documentation and look into several of the ways you might accomplish this:


You can hook into the Flag Module via PHP, so, in preprocess, you can see if a node has been flagged by either the like or dislike flag (or none yet) and display just the one or both of them when the node is displayed.
You can also hook into the Flag Module via Javascript:  it provides two events you can act upon, so, for instance, after a user has clicked on a flag, you can via jQuery hide the other flag.


And of course, with Views, you can filter on whether or not a node has been flagged by a particular flag or not and then list them accordingly.