import { Observable } from 'rxjs';
import { Credentials, CredentialsService } from './credentials.service';
import { HttpService } from './http.service';
import { CurrentUserService } from '../user/current-user.service';
import * as i0 from "@angular/core";
/**
 * Provides a base for authentication workflow.
 * The login/logout methods should be replaced with proper implementation.
 */
export declare class AuthenticationService {
    private credentialsService;
    private http;
    private currentUserService;
    constructor(credentialsService: CredentialsService, http: HttpService, currentUserService: CurrentUserService);
    /**
     * Authenticates the user.
     * @param context The login parameters.
     * @return The user credentials.
     */
    login(context: any): Observable<Credentials>;
    /**
     * Logs out the user and clear credentials.
     * @return True if the user was logged out successfully.
     */
    logout(): Observable<boolean>;
    static ɵfac: i0.ɵɵFactoryDeclaration<AuthenticationService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<AuthenticationService>;
}
