import { UserInviteValidationResult } from "../../../fd-toolbox/types/validations/user-invite-validation-result";
import { OAuthProvider } from "../../common/resources/oauth-service.resource";
import { Func } from "../../../fd-toolbox/functions/internal-getter-setter-functions";
import { OAuthTokenData } from "./oauth-token-data";
export declare function registerUser<TUser, TOAuthProvider>(email: string, password?: string, userInviteValidationResult?: UserInviteValidationResult, workspaceUserInviteId?: string, firstName?: string, lastName?: string, oauthKey?: string, oauthProvider?: string, extendedUserFields?: Partial<TUser>, extendedOAuthProviderFields?: Partial<TOAuthProvider>): Promise<import("../../../../generated/npm-package").User>;
export declare function createSessionForUser(userId: string): Promise<import("../../../../generated/npm-package/undocumented").Cookie>;
export declare function checkValidPassword(password: string, passwordHash: string): Promise<boolean>;
export declare function refreshAccessTokenIfNeeded(refreshTokenCallback: Func<OAuthProvider, Promise<OAuthTokenData>>, oauthProvider: string, refreshIfNotExpired?: boolean): Promise<void>;
export declare function initializeAccessToken(initAccessToken: Func<OAuthProvider, Promise<OAuthTokenData>>, oauthProvider: string): Promise<void>;
/** @internal */
export declare function registerTestUserWithCustomWorkspaceId<TUser, TOAuthProvider>(email: string, password?: string, workspaceId?: string, firstName?: string, lastName?: string, oauthKey?: string, oauthProvider?: string, extendedUserFields?: Partial<TUser>, extendedOAuthProviderFields?: Partial<TOAuthProvider>): Promise<import("../../../../generated/npm-package").User>;
