import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs'; import { ValtechAuthConfig, SessionInfo, RevokeSessionsResponse } from './types'; import * as i0 from "@angular/core"; /** * Servicio para gestión de sesiones activas del usuario. * Permite listar y revocar sesiones. * * @example * ```typescript * import { SessionService } from 'valtech-components'; * * @Component({...}) * export class SessionsPage { * private sessionService = inject(SessionService); * * sessions = signal([]); * * async ngOnInit() { * const sessions = await firstValueFrom(this.sessionService.listSessions()); * this.sessions.set(sessions); * } * * async revokeSession(sessionId: string) { * await firstValueFrom(this.sessionService.revokeSession(sessionId)); * // Recargar lista * } * * async revokeAllOthers() { * const result = await firstValueFrom(this.sessionService.revokeAllSessions()); * console.log(`${result.sessionsRevoked} sesiones cerradas`); * } * } * ``` */ export declare class SessionService { private config; private http; constructor(config: ValtechAuthConfig | null, http: HttpClient); private get baseUrl(); /** * Lista todas las sesiones activas del usuario. * La sesión actual está marcada con isCurrent=true. */ listSessions(): Observable; /** * Revoca una sesión específica. * Fuerza el cierre de sesión en ese dispositivo/navegador. */ revokeSession(sessionId: string): Observable; /** * Revoca todas las sesiones excepto la actual. * Útil para "cerrar sesión en todos los dispositivos". * * @returns Número de sesiones revocadas */ revokeAllSessions(): Observable; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }