/** * Initialize the stateful store with the oclif data directory. * Call this from BaseCommand.init() with this.config.dataDir so the session * file is stored alongside other CLI data (e.g. ~/Library/Application Support/@salesforce/b2c-cli). */ export declare function initializeStatefulStore(dataDir: string): void; /** * Stored session persisted by stateful auth commands. */ export interface StatefulSession { clientId: string; accessToken: string; refreshToken?: string | null; /** Base64-encoded "clientId:clientSecret" for token renewal. */ renewBase?: string | null; user?: string | null; } /** * Reads the current stateful session from the JSON file. * Returns null if no session file exists or the file is invalid. */ export declare function getStoredSession(): StatefulSession | null; /** * Writes a session to the JSON file, creating the directory if needed. */ export declare function setStoredSession(session: StatefulSession): void; /** * Clears the stored session by removing the session file. */ export declare function clearStoredSession(): void; /** * Checks whether the stored access token is present and valid: not expired * (with a small buffer), optionally satisfies required scopes, and optionally * matches the expected client ID. * Does not perform network calls. * * @param session - Session from getStoredSession() * @param requiredScopes - If provided, token must include all of these scopes * @param expiryBufferSec - Seconds before exp to treat token as expired (default 60) * @param requiredClientId - If provided, session clientId must match * @returns true if token is present and valid for use */ export declare function isStatefulTokenValid(session: StatefulSession, requiredScopes?: string[], expiryBufferSec?: number, requiredClientId?: string): boolean; /** * Resets the store path (for tests). After calling this, the next operation * will use the default data directory unless initializeStatefulStore() is called again. * @internal */ export declare function resetStatefulStoreForTesting(): void;