import { User, UserAndOrgMemberInfo, UserClass } from "@propelauth/node-apis"; export type AuthOptions = { authUrl: string; apiKey: string; verifierKey: string; }; export type AuthHeader = string | null | undefined; export declare function initAuth(opts: AuthOptions): { 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 | null) => Promise; validateAccessTokenAndGetUser: (authorizationHeader: string | null) => Promise; validateAccessTokenAndGetUserWithOrgInfo: (authorizationHeader: string | null, requiredOrgInfo: RequiredOrgInfo) => Promise; validateAccessTokenAndGetUserWithOrgInfoWithMinimumRole: (authorizationHeader: string | null, requiredOrgInfo: RequiredOrgInfo, minimumRole: string) => Promise; validateAccessTokenAndGetUserWithOrgInfoWithExactRole: (authorizationHeader: string | null, requiredOrgInfo: RequiredOrgInfo, exactRole: string) => Promise; validateAccessTokenAndGetUserWithOrgInfoWithPermission: (authorizationHeader: string | null, requiredOrgInfo: RequiredOrgInfo, permission: string) => Promise; validateAccessTokenAndGetUserWithOrgInfoWithAllPermissions: (authorizationHeader: string | null, requiredOrgInfo: RequiredOrgInfo, permissions: string[]) => Promise; validateAuthHeaderAndGetUserClass: (authorizationHeader: string | null) => Promise; validateAuthHeaderAndGetUser: (authorizationHeader: string | null) => Promise; validateAuthHeaderAndGetUserWithOrgInfo: (authorizationHeader: string | null, requiredOrgInfo: RequiredOrgInfo) => Promise; validateAuthHeaderAndGetUserWithOrgInfoWithMinimumRole: (authorizationHeader: string | null, requiredOrgInfo: RequiredOrgInfo, minimumRole: string) => Promise; validateAuthHeaderAndGetUserWithOrgInfoWithExactRole: (authorizationHeader: string | null, requiredOrgInfo: RequiredOrgInfo, exactRole: string) => Promise; validateAuthHeaderAndGetUserWithOrgInfoWithPermission: (authorizationHeader: string | null, requiredOrgInfo: RequiredOrgInfo, permission: string) => Promise; validateAuthHeaderAndGetUserWithOrgInfoWithAllPermissions: (authorizationHeader: string | null, 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;