Get a snapshot of the contributions for a slot, in registration order.
True iff the extension has any registered contributions.
All slots that currently have at least one contribution.
Register one or more contributions. All contributions in the call are applied atomically; listeners are notified once per affected slot at the end.
Throws if any contribution's extensionId mismatches the others.
Subscribe to a slot. The listener is invoked immediately with the current contribution list and on every subsequent change.
Returns an unsubscribe function.
Remove all contributions from an extension. Notifies listeners for each affected slot. Safe to call for an unknown extension (no-op).
Reset everything. Primarily for tests.