<?php

namespace WeDevs\AppBridge\Core\Notifications;

abstract class Notification {

	/**
	 * Driver names this notification should be dispatched through.
	 *
	 * @return string[]
	 */
	abstract public function via(): array;

	/**
	 * Optional fallback representation used by drivers that do not implement a dedicated message contract.
	 *
	 * @return array<string, mixed>
	 */
	public function to_array(): array {
		return [];
	}
}
