import { AuthAdapter } from '../adapters/auth.adapter';
import { BasicUserAttributesModel } from '../model/basic-user-attributes.model';
import { ContextBlock } from '../model/rules.model';
import { DatabaseController } from '../controllers/database.controller';
import { SecurityController } from '../controllers/security.controller';
export declare class AuthFactory implements AuthAdapter {
    private readonly databaseController;
    private readonly securityController;
    private domainName;
    constructor(databaseController: DatabaseController, securityController: SecurityController);
    resetPassword(email: string, context?: ContextBlock): Promise<any>;
    signIn<T extends BasicUserAttributesModel>(userModel: T, context: ContextBlock): Promise<T>;
    signUp<T extends BasicUserAttributesModel>(userModel: T, context: ContextBlock): Promise<T>;
    deleteUser(context?: ContextBlock): Promise<any>;
    sendVerificationEmail(email: string, context?: ContextBlock): Promise<any>;
    update<T extends BasicUserAttributesModel>(userModel: T, context?: ContextBlock): Promise<T>;
    updatePassword(password: string, context?: ContextBlock): Promise<any>;
}
