/** * SessionManager, Focused responsibility: session lifecycle. * * Manages the login/logout lifecycle and ties token persistence to login * results. Decoupled from transport and token storage implementations. */ import type { OperatorSdk } from '@pellux/goodvibes-operator-sdk'; import type { GoodVibesAuthLoginOptions, GoodVibesCurrentAuth, GoodVibesLoginInput, GoodVibesLoginOutput } from './types.js'; import { TokenStore } from './token-store.js'; import type { SDKObserver } from '../observer/index.js'; export declare class SessionManager { #private; constructor(operator: OperatorSdk, tokenStore: TokenStore | null, observer?: SDKObserver); /** * Return the current auth state from the daemon control plane. * Does not require a writable token store. */ current(): Promise; /** * Perform a login and, when `persistToken` is not false, automatically * persist the returned token into the configured token store. * The `expiresAt` from the login response is also persisted when the store * supports `setTokenEntry`. */ login(input: GoodVibesLoginInput, options?: GoodVibesAuthLoginOptions): Promise; /** * Whether this session manager has a writable token store. * Read-only instances (using a raw `getAuthToken` resolver) return false. */ get writable(): boolean; /** Access the underlying TokenStore (null when using a read-only resolver). */ get tokenStore(): TokenStore | null; } //# sourceMappingURL=session-manager.d.ts.map