import { Router } from '@angular/router';
import { AuthService } from './auth.service';
import { HandoffService } from './handoff.service';
import { OrgSwitchService } from './org-switch.service';
import { ValtechAuthConfig } from './types';
import { NotificationDocument, NotificationsService } from '../firebase/notifications.service';
import * as i0 from "@angular/core";
/** Resultado descriptivo del open() — útil para tests y telemetría. */
export type NotificationOpenResult = 'navigated' | 'navigated-after-switch-org' | 'redirected-cross-app' | 'no-action-route' | 'cross-app-unconfigured' | 'handoff-failed';
export declare class NotificationActionService {
    private config;
    private auth;
    private orgSwitch;
    private handoff;
    private notifications;
    private router;
    constructor(config: ValtechAuthConfig | null, auth: AuthService, orgSwitch: OrgSwitchService, handoff: HandoffService, notifications: NotificationsService, router: Router);
    /**
     * Abre la notificación: marca como leída, switch-org si toca, navegación local o
     * redirect cross-app vía handoff.
     *
     * No lanza errores hacia la UI — devuelve un resultado descriptivo. Errores
     * técnicos quedan en console.warn.
     */
    open(notif: NotificationDocument): Promise<NotificationOpenResult>;
    private activeOrg;
    /**
     * Construye URL absoluta para handoff cross-app preservando pathname y otros
     * params existentes de la baseUrl.
     */
    private buildHandoffUrl;
    static ɵfac: i0.ɵɵFactoryDeclaration<NotificationActionService, [{ optional: true; }, null, null, null, null, null]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<NotificationActionService>;
}
