import { BaseEntityClass } from '../base/base.entity'; import { LOGIN_STATUS, LOGIN_STRATEGY, DeviceEntity, ApplicationEntity, RequestOriginMeta } from '..'; export declare class SessionMetadata extends RequestOriginMeta { /** @deprecated */ ip4?: string; /** @deprecated */ ip6?: string; oidc?: any; } /** * Sessions to a couple of things: * - Keep track of the login status * - Where the request originates, who approves / denies it * - Whether secrets have been issued (access_token, refresh_token) */ export declare class PXSessionEntity extends BaseEntityClass { loginStatus: LOGIN_STATUS; /** * Information about where the request originlated */ requestMetadata: SessionMetadata; /** * Information about how the request was approved */ approvalMetadata: SessionMetadata; type: LOGIN_STRATEGY; /** * Application this login comes from, or relates to * - usually */ application: ApplicationEntity; /** * Device that requested the login (primarily QR) */ device: DeviceEntity; /** * Unix time in seconds */ expiresAt: number; /** * Issued access_token to client */ issued: boolean; /** * Time at which the access_token was issued */ issuedAt: number; /** * Legacy; Sessions will replace the redis-based approach * @deprecated */ authRequestId: string; constructor(partial: Partial); /** * Check whether the session has expired * @returns booleans */ isExpired(): boolean; }