export var UserAsCodeLifecycleStatus;
(function (UserAsCodeLifecycleStatus) {
    UserAsCodeLifecycleStatus["READY"] = "ready";
    UserAsCodeLifecycleStatus["AWAITING_AUTHENTICATION"] = "awaiting authentication";
})(UserAsCodeLifecycleStatus || (UserAsCodeLifecycleStatus = {}));
export var UserAsCodeInvitationStatus;
(function (UserAsCodeInvitationStatus) {
    UserAsCodeInvitationStatus["NOT_REQUESTED"] = "not requested";
    UserAsCodeInvitationStatus["SENT"] = "sent";
    UserAsCodeInvitationStatus["SKIPPED_AUTHENTICATED"] = "skipped authenticated";
    UserAsCodeInvitationStatus["SKIPPED_DISABLED"] = "skipped disabled";
    UserAsCodeInvitationStatus["SKIPPED_VALID_INVITE"] = "skipped valid invite";
})(UserAsCodeInvitationStatus || (UserAsCodeInvitationStatus = {}));
export const isUserWithOrg = (user) => typeof user?.organizationUuid === 'string' &&
    typeof user?.organizationName === 'string' &&
    user?.organizationCreatedAt instanceof Date &&
    typeof user?.role === 'string';
export const isOpenIdUser = (user) => typeof user === 'object' &&
    user !== null &&
    user.userUuid === undefined &&
    user.userId === undefined &&
    typeof user.openId === 'object' &&
    user.openId !== null &&
    typeof user.openId.subject === 'string' &&
    typeof user.openId.issuer === 'string' &&
    typeof user.openId.email === 'string' &&
    typeof user.openId.issuerType === 'string';
export var LocalIssuerTypes;
(function (LocalIssuerTypes) {
    LocalIssuerTypes["EMAIL"] = "email";
    LocalIssuerTypes["API_TOKEN"] = "apiToken";
})(LocalIssuerTypes || (LocalIssuerTypes = {}));
export const getIntrinsicUserAttributes = (user) => ({
    email: user.email,
});
//# sourceMappingURL=user.js.map