I live in Cyprus, so I knew these rules apply, but I am translating straight from page 50 of the rules for the current season.
Every team must have a list A and LIST B of it's current players. They can register up to 25 PROFESSIONAL players that are older than 22 (so under 22 rule) on the !st of Jan 2018 to the A list. Of those 25, at least 10 players must have been registered in a team that is a member of the CFA before turning 18, or else their places in the squad must remain vacant. (there are some stuff about registration date that you have more or less accurately, other that the final day to register free players is the 7th of September, or else in January's transfer window until1st of Feb). Changes outside the transfer windows are allowed only if you have a GK that will be injured for more than 3 months, after you obtain permit from the CFA( you are allowed to sign a free GK). 4 changes in the list are allowed during the January window (4 transfers), if you have free space or you de-register someone.
2 players in the STARTING LINEUP must be Homegrown in nation as I described above, or you have to pay 2.000 euro fine for every player you have less (so 4000 if you don't use any. No rule for 3 nation grown in the match squad. UPDATE, there is a rule of 3 players that CAN be called to the Cypriot national team (this is the exact wording) otherwise, either you leave places open, or you pay a 5000 euro fine
In list B you can register any number of players under 22, nationgrown or not. If you register a non EU player, it counts against your limit of 5. (Strangely, the limit of 5 foreigners is not mentioned earlier in this years rules, as far as I've seen). you can add players (up to two per game) up to 48 hours before a game in your B list. Non EU players MUST be professional.
You can use any players registered in either list for your match squad (of 20 players).
This is the link for Division A, unfortunately in Greek https://www.cfa.com.cy/images/DownloadsGr/CYTA17 web-2017-2018.pdf
This is the page where you can find all rules for all divisions (just select Προκυρηξεις in then drop down menu)
For second division, you can have up to 16 professionals over 22, no non EU, 10 homegrown in squad, no amateurs over 22 that weren't nationgrown, unlimited number of amateurs over or under 22, free players up to the 8th (not 7th) of September and 2 professional transfers over 22 in january (if you have space or deregister someone)
Sorry, but I don't care enough about lower divisions to translate the rules here