import { SessionInfo, SAP_B1_Config } from './types.js'; import { AxiosInstance } from 'axios'; export declare class SessionManager { private static instance; private sessionInfo; private config; private httpClient; private renewalTimer; private constructor(); static getInstance(config?: SAP_B1_Config): SessionManager; static resetInstance(): void; /** * Login to SAP B1 and establish session */ login(): Promise; /** * Logout and terminate session */ logout(): Promise; /** * Check if current session is valid */ isSessionValid(): Promise; /** * Get current session info */ getSessionInfo(): SessionInfo | null; /** * Ensure we have a valid session, login if needed */ ensureValidSession(): Promise; /** * Get configured HTTP client with session */ getHttpClient(): Promise; /** * Renew session before it expires */ private renewSession; /** * Schedule automatic session renewal */ private scheduleSessionRenewal; /** * Clear session data and timers */ private clearSession; /** * Parse SAP error response */ private parseSAPError; /** * Execute a request with automatic session management */ executeRequest(method: 'GET' | 'POST' | 'PATCH' | 'DELETE', endpoint: string, data?: any, params?: any): Promise; }