import '@iotize/tap/service/impl/group';
import '@iotize/tap/service/impl/interface';
import { Tap } from '@iotize/tap';
import { AuthMethod, UsernamePassword } from './definitions';
import { ScramAuth } from './scram-auth';
export declare class BasicAuth implements AuthMethod<UsernamePassword, ScramAuth.SessionData> {
    private tap;
    options: {
        hashPassword?: boolean;
    };
    private get hashPassword();
    constructor(tap: Tap, options?: {
        hashPassword?: boolean;
    });
    /**
     * Tap login
     *
     */
    login(params: UsernamePassword): Promise<ScramAuth.SessionData>;
    logout(): Promise<void>;
    /**
     * Change password for the groupId
     * @param newPassword the new password for the userId
     * @param userId the user id for which we want to change the password
     */
    changePassword(newPassword: string, userId: number): Promise<void>;
}
