There is no such thing as passing to a trigger; a trigger fires on a DML event. However, DML operations operate on a transaction chunk of 200 records at a time. So, let's say for example, you have a Visualforce page that edits 200 records, and an update trigger on that object, your trigger would operate on all 200 records at once, in one chunk. Another example is updating records through the API. Let's say your hit the SOAP API with an update to 200 records. The standard SOAP API allows you to specify the size of the batch but let's say your chunk size was 200, and you had an update trigger on that object, the trigger could be acting on a maximum of 200 records in one transaction chunk.
You trigger should be made bulk safe to be able to handle up to 200 records. When your trigger exercises a callout, you need to make sure you're handling up to 200 records and not going over the callout per transaction limit in your code.
Quote from the documentation:
For Apex saved using Salesforce.com API version 20.0 or earlier, if an
API call causes a trigger to fire, the chunk of 200 records to process
is further split into chunks of 100 records. For Apex saved using
Salesforce.com API version 21.0 and later, no further splits of API
chunks occur. Note that static variable values are reset between API
batches, but governor limits are not. Do not use static variables to
track state information between API batches.