import EntityAccessError from "@entity-access/entity-access/dist/common/EntityAccessError.js"; import { WrappedResponse } from "./Wrapped.js"; import { IAuthorizationCookie } from "../services/IAuthorizationCookie.js"; export type roles = "Administrator" | "Contributor" | "Reader" | "Guest"; /** * Remember to call `await sessionUser.authorize()` or * decorate the page with `@Prepare.authorize`. */ export declare class SessionUser { /** * SessionID saved in database for current session. */ get sessionID(): number | null; set sessionID(value: any); /** * UserID */ get userID(): number | null; set userID(value: any); /** * Logged in user name */ get userName(): string; set userName(value: string); /** * Application Roles, user is associated with. */ get roles(): string[]; set roles(value: string[]); /** * Expiry date, after which this session is invalid */ get expiry(): Date; set expiry(value: string | Date); /** * If set to true, session is no longer valid. */ invalid?: boolean; ipAddress: string; get isAdmin(): boolean; resp: WrappedResponse; private isAuthorized; authorize(): Promise; isInRole(role: roles): boolean; ensureLoggedIn(error?: () => EntityAccessError): void; ensureRole(role: roles, error?: () => EntityAccessError): void; ensureIsAdmin(error?: () => EntityAccessError): void; setAuthCookie(authCookie: IAuthorizationCookie): Promise; clearAuthCookie(): Promise; } //# sourceMappingURL=SessionUser.d.ts.map