Every league has its own regulations. Most basketball leagues work like this.
- Create uniform demo for a "white" and "dark" jersey.
- Ask league for permission.
- Print jerseys.
- Wear "white" version for home games and "dark" for away games (note hockey and American football do the opposite).
Some leagues allow alternative jerseys to the standard two. Then it is up to the home team to notify league and away team and follow league protocol (or get permission) to wear the non-standard jersey. So if the Celtics want to wear a throwback green jersey at home they need to make sure the away team is ready with white uniforms (which they might not normally travel with).
This is pretty standard globally as I have played/watched basketball in Europe.
The only stipulations on this - also governed by each league - that I have seen is the number of colors allowed. The NBA for instance usually tries to limit teams to three colors (there are exceptions but not many) and I have seen overseas the jerseys much more colorful. The teams themselves choose the colors to go with mascot or just for marketing.
I can't remember the NBA ever rejecting a color scheme based on being too close to another team's because the teams can use the same colors but really the teams are trying to differentiate between each other from a marketing/sales standpoint.