import { OAuthToken, OrganizationResource, PersonResource } from '../types'; export type ENV = 'production' | 'staging' | 'development'; export type OauthType = 'OAuth' | 'ChurchCenterOauth'; export type PartialToken = Pick & Partial; export type SessionMeta = { [key: string]: { person: PersonResource; organization: OrganizationResource; }; }; export type SessionProps = { env?: ENV; token?: T; type?: OauthType; meta?: SessionMeta; }; export declare const UNAUTHENTICATED_SESSION_ID: "unauthenticated"; type SessionId = string | typeof UNAUTHENTICATED_SESSION_ID; /** * Session class to track the environment and token * Not intended to make network requests or handle authentication */ export declare class Session { env: ENV; token: T | undefined; type: OauthType; meta: Record; constructor(props?: SessionProps); get isAuthenticated(): boolean; get isChurchCenterToken(): boolean; get id(): SessionId; toString(): string; setPerson(person: PersonResource): void; setOrganization(organization: OrganizationResource): void; static hydrate(sessionString: string): Session; } export {}; //# sourceMappingURL=session.d.ts.map