import { TokenVerificationMetadata, User, UserAndOrgMemberInfo, UserClass } from "@propelauth/node-apis"; export type BaseAuthOptions = { authUrl: string; apiKey: string; /** * By default, this library performs a one-time fetch on startup for * token verification metadata from your authUrl using your apiKey. * * This is usually preferred to make sure you have the most up to date information, * however, in environments like serverless, this one-time fetch becomes a * per-request fetch. * * In those environments, you can specify the token verification metadata manually, * which you can obtain from your PropelAuth project. */ manualTokenVerificationMetadata?: TokenVerificationMetadata; }; export declare function initBaseAuth(opts: BaseAuthOptions): { fetchUserMetadataByUserId: (userId: string, includeOrgs?: boolean | undefined) => Promise; fetchUserMetadataByEmail: (email: string, includeOrgs?: boolean | undefined) => Promise; fetchUserMetadataByUsername: (username: string, includeOrgs?: boolean | undefined) => Promise; fetchBatchUserMetadataByUserIds: (userIds: string[], includeOrgs?: boolean | undefined) => Promise<{ [userId: string]: import("@propelauth/node-apis/.").UserMetadata; }>; fetchBatchUserMetadataByEmails: (emails: string[], includeOrgs?: boolean | undefined) => Promise<{ [email: string]: import("@propelauth/node-apis/.").UserMetadata; }>; fetchBatchUserMetadataByUsernames: (usernames: string[], includeOrgs?: boolean | undefined) => Promise<{ [username: string]: import("@propelauth/node-apis/.").UserMetadata; }>; fetchOrg: (orgId: string) => Promise; fetchOrgByQuery: (orgQuery: import("@propelauth/node-apis/.").OrgQuery) => Promise; fetchCustomRoleMappings: () => Promise; fetchUsersByQuery: (usersQuery: import("@propelauth/node-apis/.").UsersQuery) => Promise; fetchUsersInOrg: (usersInOrgQuery: import("@propelauth/node-apis/.").UsersInOrgQuery) => Promise; fetchUserSignupQueryParams: (userId: string) => Promise; createUser: (createUserRequest: import("@propelauth/node-apis/.").CreateUserRequest) => Promise; updateUserMetadata: (userId: string, updateUserMetadataRequest: import("@propelauth/node-apis/.").UpdateUserMetadataRequest) => Promise; updateUserEmail: (userId: string, updateUserEmailRequest: import("@propelauth/node-apis/.").UpdateUserEmailRequest) => Promise; updateUserPassword: (userId: string, updateUserPasswordRequest: import("@propelauth/node-apis/.").UpdateUserPasswordRequest) => Promise; clearUserPassword: (userId: string) => Promise; createMagicLink: (createMagicLinkRequest: import("@propelauth/node-apis/.").CreateMagicLinkRequest) => Promise; createAccessToken: (createAccessTokenRequest: import("@propelauth/node-apis/.").CreateAccessTokenRequest) => Promise; migrateUserFromExternalSource: (migrateUserFromExternalSourceRequest: import("@propelauth/node-apis/.").MigrateUserFromExternalSourceRequest) => Promise; migrateUserPassword: (migrateUserPasswordRequest: import("@propelauth/node-apis/.").MigrateUserPasswordRequest) => Promise; deleteUser: (userId: string) => Promise; disableUser: (userId: string) => Promise; enableUser: (userId: string) => Promise; disableUser2fa: (userId: string) => Promise; resendEmailConfirmation: (userId: string) => Promise; enableUserCanCreateOrgs: (userId: string) => Promise; disableUserCanCreateOrgs: (userId: string) => Promise; logoutAllUserSessions: (userId: string) => Promise; fetchUserMfaMethods: (userId: string) => Promise; fetchUserOAuthTokens: (userId: string) => Promise> | null>; fetchFreshTokenFromProvider: (userId: string, provider: import("@propelauth/node-apis/.").SocialLoginTokenProvider) => Promise; createOrg: (createOrgRequest: import("@propelauth/node-apis/.").CreateOrgRequest) => Promise; addUserToOrg: (addUserToOrgRequest: import("@propelauth/node-apis/.").AddUserToOrgRequest) => Promise; changeUserRoleInOrg: (changeUserRoleInOrgRequest: import("@propelauth/node-apis/.").ChangeUserRoleInOrgRequest) => Promise; removeUserFromOrg: (removeUserFromOrgRequest: import("@propelauth/node-apis/.").RemoveUserFromOrgRequest) => Promise; updateOrg: (updateOrgRequest: import("@propelauth/node-apis/.").UpdateOrgRequest) => Promise; subscribeOrgToRoleMapping: (orgId: string, customRoleMappingName: string) => Promise; deleteOrg: (orgId: string) => Promise; allowOrgToSetupSamlConnection: (orgId: string) => Promise; disallowOrgToSetupSamlConnection: (orgId: string) => Promise; createOrgSamlConnectionLink: (orgId: string, expiresInSeconds?: number | undefined) => Promise; inviteUserToOrg: (inviteUserToOrgRequest: import("@propelauth/node-apis/.").InviteUserToOrgRequest) => Promise; inviteUserToOrgByUserId: (inviteUserToOrgByUserIdRequest: import("@propelauth/node-apis/.").InviteUserToOrgByUserIdRequest) => Promise; fetchPendingInvites: (params?: import("@propelauth/node-apis/.").FetchPendingInvitesParams | undefined) => Promise; revokePendingOrgInvite: (revokePendingOrgInviteRequest: import("@propelauth/node-apis/.").RevokePendingOrgInviteRequest) => Promise; fetchSamlSpMetadata: (orgId: string) => Promise; setSamlIdpMetadata: (orgId: string, samlIdpMetadata: import("@propelauth/node-apis/.").SetSamlIdpMetadataRequest) => Promise; setOidcIdpMetadata: (setOidcIdpMetadataRequest: import("@propelauth/node-apis/.").SetOidcIdpMetadataRequest) => Promise; samlGoLive: (orgId: string) => Promise; deleteSamlConnection: (orgId: string) => Promise; fetchApiKey: (apiKeyId: string) => Promise; fetchCurrentApiKeys: (apiKeyQuery: import("@propelauth/node-apis/.").ApiKeysQueryRequest) => Promise; fetchArchivedApiKeys: (apiKeyQuery: import("@propelauth/node-apis/.").ApiKeysQueryRequest) => Promise; createApiKey: (apiKeyCreate: import("@propelauth/node-apis/.").ApiKeysCreateRequest) => Promise; updateApiKey: (apiKeyId: string, ApiKeyUpdate: import("@propelauth/node-apis/.").ApiKeyUpdateRequest) => Promise; deleteApiKey: (apiKeyId: string) => Promise; validateApiKey: (apiKeyToken: string) => Promise; validatePersonalApiKey: (apiKeyToken: string) => Promise; validateOrgApiKey: (apiKeyToken: string) => Promise; fetchApiKeyUsage: (apiKeyUsageQuery: import("@propelauth/node-apis/.").ApiKeyUsageQueryRequest) => Promise; importApiKey: (apiKeysImportRequest: import("@propelauth/node-apis/.").ApiKeysImportRequest) => Promise; validateImportedApiKey: (apiKeyToken: string) => Promise; verifyStepUpTotpChallenge: (verifyTotpChallengeRequest: import("@propelauth/node-apis/.").VerifyTotpChallengeRequest) => Promise; verifyStepUpGrant: (verifyStepUpGrantRequest: import("@propelauth/node-apis/.").VerifyStepUpGrantRequest) => Promise; sendSmsMfaCode: (sendSmsMfaCodeRequest: import("@propelauth/node-apis/.").SendSmsMfaCodeRequest) => Promise; verifySmsChallenge: (verifySmsChallengeRequest: import("@propelauth/node-apis/.").VerifySmsChallengeRequest) => Promise; fetchEmployeeById: (employeeId: string) => Promise; fetchUserTopInviterReport: (reportInterval?: import("@propelauth/node-apis/.").TopInviterReportInterval | undefined, pagination?: import("@propelauth/node-apis/.").ReportPagination | undefined) => Promise; fetchUserChampionReport: (reportInterval?: import("@propelauth/node-apis/.").ChampionReportInterval | undefined, pagination?: import("@propelauth/node-apis/.").ReportPagination | undefined) => Promise; fetchUserReengagementReport: (reportInterval?: import("@propelauth/node-apis/.").ReengagementReportInterval | undefined, pagination?: import("@propelauth/node-apis/.").ReportPagination | undefined) => Promise; fetchUserChurnReport: (reportInterval?: import("@propelauth/node-apis/.").ChurnReportInterval | undefined, pagination?: import("@propelauth/node-apis/.").ReportPagination | undefined) => Promise; fetchOrgReengagementReport: (reportInterval?: import("@propelauth/node-apis/.").ReengagementReportInterval | undefined, pagination?: import("@propelauth/node-apis/.").ReportPagination | undefined) => Promise; fetchOrgChurnReport: (reportInterval?: import("@propelauth/node-apis/.").ChurnReportInterval | undefined, pagination?: import("@propelauth/node-apis/.").ReportPagination | undefined) => Promise; fetchOrgGrowthReport: (reportInterval?: import("@propelauth/node-apis/.").GrowthReportInterval | undefined, pagination?: import("@propelauth/node-apis/.").ReportPagination | undefined) => Promise; fetchOrgAttritionReport: (reportInterval?: import("@propelauth/node-apis/.").AttritionReportInterval | undefined, pagination?: import("@propelauth/node-apis/.").ReportPagination | undefined) => Promise; fetchChartMetricData: (chartMetric: import("@propelauth/node-apis/.").ChartMetric, cadence: import("@propelauth/node-apis/.").ChartMetricCadence, startDate?: Date | undefined, endDate?: Date | undefined) => Promise; fetchScimGroup: (fetchScimGroupRequest: import("@propelauth/node-apis/.").FetchScimGroupRequest) => Promise; fetchOrgScimGroups: (fetchOrgScimGroupsRequest: import("@propelauth/node-apis/.").FetchOrgScimGroupsRequest) => Promise; validateAccessTokenAndGetUserClass: (authorizationHeader?: string | undefined) => Promise; validateAccessTokenAndGetUser: (authorizationHeader?: string | undefined) => Promise; validateAccessTokenAndGetUserWithOrgInfo: (authorizationHeader: string | undefined, requiredOrgInfo: RequiredOrgInfo) => Promise; validateAccessTokenAndGetUserWithOrgInfoWithMinimumRole: (authorizationHeader: string | undefined, requiredOrgInfo: RequiredOrgInfo, minimumRole: string) => Promise; validateAccessTokenAndGetUserWithOrgInfoWithExactRole: (authorizationHeader: string | undefined, requiredOrgInfo: RequiredOrgInfo, exactRole: string) => Promise; validateAccessTokenAndGetUserWithOrgInfoWithPermission: (authorizationHeader: string | undefined, requiredOrgInfo: RequiredOrgInfo, permission: string) => Promise; validateAccessTokenAndGetUserWithOrgInfoWithAllPermissions: (authorizationHeader: string | undefined, requiredOrgInfo: RequiredOrgInfo, permissions: string[]) => Promise; }; export type RequiredOrgInfo = { orgId?: string; orgName?: string; }; export type HandleErrorOptions = { logError?: boolean; returnDetailedErrorToUser?: boolean; }; export type HandleErrorResponse = { status: number; message: string; }; export declare function handleError(e: unknown, opts?: HandleErrorOptions): HandleErrorResponse;