import EventEmitter from "eventemitter3"; import { z } from "zod"; import type { BaseSignerClient } from "../client/base"; import type { User } from "../client/types"; import type { SessionManagerEvents } from "./types"; export declare const DEFAULT_SESSION_MS: number; export declare const SessionManagerParamsSchema: z.ZodObject<{ sessionKey: z.ZodDefault; storage: z.ZodUnion<[z.ZodDefault>, z.ZodType]>; expirationTimeMs: z.ZodDefault; client: z.ZodType, z.ZodTypeDef, BaseSignerClient>; }, "strip", z.ZodTypeAny, { storage: Storage | "localStorage" | "sessionStorage"; sessionKey: string; expirationTimeMs: number; client: BaseSignerClient; }, { client: BaseSignerClient; storage?: Storage | "localStorage" | "sessionStorage" | undefined; sessionKey?: string | undefined; expirationTimeMs?: number | undefined; }>; export type SessionManagerParams = z.input; type TemporarySession = { orgId: string; isNewUser?: boolean; encryptedPayload?: string; mfaFactorId?: string; }; export declare class SessionManager { private sessionKey; private client; private eventEmitter; readonly expirationTimeMs: number; private store; private clearSessionHandle; constructor(params: SessionManagerParams); getSessionUser: () => Promise; clearSession: () => void; setTemporarySession: (session: TemporarySession) => void; getTemporarySession: () => TemporarySession | null; on: (event: E, listener: SessionManagerEvents[E]) => () => EventEmitter; private getSession; private setSession; initialize(): void; private getInitialState; private registerEventListeners; private registerSessionExpirationHandler; private setSessionWithUserAndBundle; } export {}; //# sourceMappingURL=manager.d.ts.map