/** * ============================================================================ * @amaster.ai/auth-client - Type Definitions * ============================================================================ * * 🤖 AI NAVIGATION - Read these files based on your task: * * 1. Need LOGIN/REGISTER/LOGOUT? → Read: ./auth.d.ts * 2. Need PERMISSION checks? → Read: ./permissions.d.ts * 3. Need USER profile management? → Read: ./user.d.ts * 4. Need OAUTH binding? → Read: ./oauth.d.ts * 5. Need SESSION management? → Read: ./sessions.d.ts * * ============================================================================ */ import { HttpClient, ClientResult } from '@amaster.ai/http-client'; import { u as Session, v as SuccessResponse, q as RevokeAllSessionsResponse } from './types-DqwQ2EzH.js'; /** * Sessions Module * * @module sessions * @category Sessions * * Handles multi-device session management: * - View all active sessions * - Revoke specific session * - Revoke all other sessions */ interface SessionsModuleDeps { http: HttpClient; storage: { getItem: (key: string) => string | null; }; } declare function createSessionsModule(deps: SessionsModuleDeps): { /** * Get current session information * * @category Sessions * @example * ```typescript * const result = await sessions.getSession(); * if (result.data) { * console.log("Session ID:", result.data.id); * console.log("Device:", result.data.sessionName); * console.log("IP address:", result.data.ipAddress); * console.log("Location:", result.data.location); * } * ``` */ getSession(): Promise>; /** * Get all active sessions for current user * * @category Sessions * @example * ```typescript * const result = await sessions.getSessions(); * if (result.data) { * result.data.forEach(session => { * const status = session.isCurrent ? "Current" : "Other"; * console.log(`${session.sessionName} - ${session.ipAddress} - ${status}`); * }); * } * ``` */ getSessions(): Promise>; /** * Revoke a specific session * * @category Sessions * @example * ```typescript * await sessions.revokeSession("session-id-123"); * ``` */ revokeSession(sessionId: string): Promise>; /** * Revoke all sessions except current one * * @category Sessions * @example * ```typescript * const result = await sessions.revokeAllSessions(); * if (result.data) { * console.log(`Revoked ${result.data.revokedCount} sessions`); * } * ``` */ revokeAllSessions(): Promise>; }; type SessionsModule = ReturnType; export { type SessionsModule, type SessionsModuleDeps, createSessionsModule };