Console Modes

I'm sure this has already been answered somewhere, but I'm having trouble finding it.

What exactly are the differences between the console modes (Primary, backup, client, and mirror)? Specifically, what level of autonomy and control does each have?

Do any of them allow a designer at a tech table to program completely separately from an operator in the booth? Where I work, we have multiple dance recital events every year that we have students design lights for, and since we have two consoles, it would be helpful to be able to have two of them able to program at once. Obviously only one console will output, but can two operators work program separately?