option() :: topics_opt() | partitions_opt()
partitions_opt() :: {:partitions, pos_integer()}
subscription() :: {topic(), pid()}
topic() :: atom() | {atom(), atom()}
topic_match() :: topic() | {atom(), String.t()}
topics_opt() :: {:topics, [topic()]}
broadcast(topic(), term()) :: :ok
child_spec(opts :: term()) :: Supervisor.child_spec()
register(topic()) :: :ok
start_link([option()]) :: {:ok, pid()} | {:error, term()}
subscribe(topic_match()) :: {:ok, [topic()]}
subscribers() :: [subscription()]
topics() :: [topic()]
unsubscribe(topic()) :: :ok