/** Пара токенов одной стороны (access или refresh). */
export interface SessionToken {
    token: string;
    exp?: number;
}
export interface SessionTokens {
    accessToken?: SessionToken;
    refreshToken?: SessionToken;
}
export interface SessionUser {
    id: string;
    profileId: string;
    phone?: string | null;
    email?: string | null;
    name?: string | null;
    surname?: string | null;
    roles: string[];
    maxRolePriority?: number | null;
    tokens?: SessionTokens;
}
export declare const sessionTokensSchema: import('../..').SchemaLike<SessionTokens>;
export declare const sessionUserSchema: import('../..').SchemaLike<SessionUser>;
/**
 * Парсит сырое значение сессионной куки (JSON) и валидирует схемой.
 * Возвращает null при отсутствии значения или невалидных данных.
 */
export declare const parseSessionCookie: (rawValue: string | null | undefined) => SessionUser | null;
/**
 * Инициалы пользователя: ФамилияИмя → «ИФ», при отсутствии — первая буква email.
 */
export declare const getUserInitials: (user?: SessionUser | null) => string;
/**
 * Отображаемое имя: «Фамилия Имя», при отсутствии — email или телефон.
 */
export declare const getUserDisplayName: (user?: SessionUser | null) => string;
