A digital signature therefore is a data-dependent bit-pattern, generated by some agent as a function of some data block.
A digital signature algorithm generally accepts the hash of the data block, and the agent's private key, using these it can provide a bit pattern signature.