import { BankAccount, DonationActionResult, DonationMethod } from './types'; import * as i0 from "@angular/core"; /** * `DonationService` * * Servicio cross-app para el feature de aportes voluntarios (Support). * Patrón factory: cada app llama `provideValtechDonations(...)` y este * servicio expone solo los métodos habilitados. * * **Fase 0 (placeholder)** — abre links externos + expone datos de config. * Sin backend. Fases futuras: rewarded ads reales, webhook de café, * registro de intents para una página de transparencia. * * @example * ```typescript * private donations = inject(DonationService); * * methods = this.donations.enabledMethods(); // ['coffee', 'bank'] * onCoffee() { this.donations.openCoffee(); } * accounts = this.donations.bankAccounts(); * ``` */ export declare class DonationService { private readonly config; /** Último intent registrado — útil para tests / debugging / UI feedback. */ private readonly _lastIntent; readonly lastIntent: import("@angular/core").Signal; /** Métodos habilitados por la app, en orden de config. */ readonly enabledMethods: import("@angular/core").Signal; /** `true` si el método está habilitado en la config de la app. */ isEnabled(method: DonationMethod): boolean; /** Cuentas bancarias configuradas (vacío si `bank` no está habilitado). */ bankAccounts(): BankAccount[]; /** Cuentas filtradas por país ISO — para apps multi-mercado. */ bankAccountsByCountry(country: string): BankAccount[]; /** * Abre el checkout de "café" (Buy Me a Coffee / Ko-fi) en una pestaña nueva. * El proveedor es el merchant of record — Valtech no procesa el pago. */ openCoffee(): DonationActionResult; /** * Muestra un anuncio rewarded (opt-in). **Fase 0: no implementado** — * placeholder hasta integrar el plugin de ads (AdMob/AdSense) + la * categoría de consentimiento. Retorna `not-supported`. */ showRewardedAd(): Promise; /** * Registra la intención de aporte. **Fase 0: solo estado local.** * Fase 4 — POST a un endpoint para una página de transparencia. */ recordIntent(method: DonationMethod): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }