import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { OidcSecurityService } from 'angular-auth-oidc-client';
import { UserService } from '../user/user.service';
import * as i0 from "@angular/core";
export declare class AuthService {
    private _httpClient;
    private _userService;
    oidcSecurityService: OidcSecurityService;
    private _authenticated;
    /**
     * Constructor
     */
    constructor(_httpClient: HttpClient, _userService: UserService, oidcSecurityService: OidcSecurityService);
    /**
     * Setter & getter for access token
     */
    set accessToken(token: string);
    get accessToken(): string;
    /**
     * Forgot password
     *
     * @param email
     */
    forgotPassword(email: string): Observable<any>;
    /**
     * Reset password
     *
     * @param password
     */
    resetPassword(password: string): Observable<any>;
    /**
     * Sign in
     *
     * @param credentials
     */
    signIn(credentials: {
        email: string;
        password: string;
    }): Observable<any>;
    /**
     * Sign in using the access token
     */
    signInUsingToken(): Observable<any>;
    /**
     * Sign out
     */
    signOut(): Observable<any>;
    /**
     * Sign up
     *
     * @param user
     */
    signUp(user: {
        name: string;
        email: string;
        password: string;
        company: string;
    }): Observable<any>;
    /**
     * Unlock session
     *
     * @param credentials
     */
    unlockSession(credentials: {
        email: string;
        password: string;
    }): Observable<any>;
    /**
     * Check the authentication status
     */
    check(): Observable<boolean>;
    static ɵfac: i0.ɵɵFactoryDeclaration<AuthService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<AuthService>;
}
