A signature clause determines the term pattern (e.g. sorts, cf. section 3) of an operator's arguments and is relevant for those operator clauses which are directly following. So one operator can have several signature clauses, e.g. one for each arity.
The scope of a signature only extends over the current module (cf. section 5), so if the clauses of an operator are to be distributed over several modules (unusual!), one has to create signature clauses for each module.
An example dialog is given in appendix E.