import { ButtonMetadata } from '../../types'; import { SessionInfo } from '../../../services/auth/types'; import * as i0 from "@angular/core"; /** * `val-session-list-modal` — modal de "Ver todas las sesiones activas". Organism * compartido entre la vista Seguridad y la vista Cuenta del factory. * * Render reusa el mismo markup de la sección de sesiones inline (mismas clases * CSS) pero sin truncar la lista. * * Inputs (vienen de `componentProps` del ModalService): * - `sessions` — snapshot inicial (mostrado al abrir) * - `thisLabel` / `revokeLabel` — i18n strings ya resueltas * - `onRevoke` — callback async que el parent ejecuta contra el backend; debe * retornar la lista actualizada para que el modal refresque en sitio. * * `@Output` events NO funcionan con `modalController.create()` — por eso usamos * callback pasado por props + `_modalRef` para dismiss desde dentro. * * Header canónico (Regla #5): sin `ion-title`, botón Cerrar texto en `slot=end`, * título en el body con `val-display`. */ export declare class SessionListModalComponent { /** Snapshot inicial — el modal mantiene su propia copia y la refresca tras revoke. */ set sessions(value: SessionInfo[]); /** Título del modal (ya traducido). */ title: string; /** Label del botón cerrar del header (ya traducido). */ closeLabel: string; /** Label "Esta sesión" (en idioma activo). */ thisLabel: string; /** Label del botón revoke individual. */ revokeLabel: string; /** * Callback que ejecuta el revoke contra el backend y retorna la lista * actualizada. Pasado por `componentProps` del ModalService. */ onRevoke?: (sessionId: string) => Promise; /** * Inyectado por `ModalService.open` — referencia para cerrar desde dentro. * Cualquier componente abierto vía el service recibe este objeto en * `componentProps`. */ _modalRef?: { dismiss: (data?: unknown, role?: string) => void; }; close(): void; /** Lista local mutable — refrescada después de cada revoke confirmado. */ protected readonly sessionsLocal: import("@angular/core").WritableSignal; handleRevoke(sessionId: string): Promise; get revokeBtn(): Partial; deviceIcon(s: SessionInfo): string; formatMeta(s: SessionInfo): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }