/**
 * Porta de envio de push.
 *
 * Mesma razão da porta da fonte de dados: a credencial não existe. FCM
 * (Android) precisa de projeto Firebase, e APNs (iOS) exige Apple Developer
 * Program pago — decidido em 03/08 que não haverá investimento.
 *
 * O adaptador desativado registra a tentativa e devolve `false`. O aviso
 * **sempre** é gravado no banco de qualquer forma (`Notification`), então o
 * participante o vê dentro do app mesmo sem push — que é o requisito real.
 */
export const PUSH = Symbol('PUSH');

export interface ResultadoPush {
  entregue: boolean;
  motivo?: string;
}

export interface PushSender {
  enviar(userId: string, titulo: string, corpo: string): Promise<ResultadoPush>;
}
