import type * as interfaces from '../dist_ts_interfaces/index.js';
export type TSessionPhase = 'verifying' | 'anonymous' | 'authenticated' | 'logging-out';
export interface ISessionState {
    identity: interfaces.data.IIdentity | null;
    phase: TSessionPhase;
    generation: number;
    verificationError?: string | null;
}
export declare const isAuthenticatedSessionState: (sessionArg: ISessionState, nowArg?: number) => boolean;
export declare const isSessionGenerationCurrent: (sessionArg: ISessionState, generationArg: number, nowArg?: number) => boolean;
export declare const verifiedIdentityFromResponse: (responseArg: {
    valid: boolean;
    identity?: interfaces.data.IIdentity;
}, nowArg?: number) => interfaces.data.IIdentity | null;
export declare const normalizePersistedSession: (persistedArg: Partial<ISessionState> & {
    identity?: interfaces.data.IIdentity | null;
    isLoggedIn?: boolean;
}, generationArg: number, nowArg?: number) => ISessionState;
