Create and implement events and callbacks

You have declared an event on your class, and you want outside users of your class to raise this event. What do you do?

Add a public method to your class that raises the event.
Make the event public.
Use a public delegate instead of an event.
Use a custom event accessor to give access to outside users.