import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs/internal/Observable';
import { BaseApiService } from '../../rbk-utils/http/base-api.service';
import { JwtResponse } from '../models/jwt-response';
import { RedefinePassword } from '../models/redefine-password';
import { RequestPasswordReset } from '../models/request-password-reset';
import { ResendEmailConfirmation } from '../models/resend-email-confirmation';
import { SwitchTenant } from '../models/switch-tenant';
import { CreateUser } from '../models/create-user';
import { UserDetails } from '../models/user-details';
import { ChangePassword } from '../models/change-password';
import { Register } from '../models/register';
import { DeleteUser } from '../models/delete-user';
import { DeativateUser } from '../models/deativate-user';
import { ActivateUser } from '../models/activate-user';
import * as i0 from "@angular/core";
export declare class AuthenticationService extends BaseApiService {
    private http;
    private endpoint;
    constructor(http: HttpClient);
    login(): Observable<JwtResponse>;
    refreshToken(): Observable<JwtResponse>;
    sendResetPasswordEmail(data: RequestPasswordReset): Observable<void>;
    redefinePassword(data: RedefinePassword): Observable<void>;
    resendEmailConfirmation(data: ResendEmailConfirmation): Observable<void>;
    confirmEmail(): Observable<void>;
    switchTenant(data: SwitchTenant): Observable<JwtResponse>;
    changePassword(data: ChangePassword): Observable<void>;
    registerAnonymously(data: Register): Observable<void>;
    createUser<TMetadata extends {
        [key: string]: string;
    }>(data: CreateUser<TMetadata>): Observable<UserDetails>;
    deleteUser(data: DeleteUser): Observable<void>;
    deactivateUser(data: DeativateUser): Observable<UserDetails>;
    activateUser(data: ActivateUser): Observable<UserDetails>;
    static ɵfac: i0.ɵɵFactoryDeclaration<AuthenticationService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<AuthenticationService>;
}
