/// <reference types="@adonisjs/hash/build/adonis-typings" />
import type { HashContract } from '@ioc:Adonis/Core/Hash';
import type { LucidProviderModel, ProviderUserContract, LucidProviderConfig } from '@ioc:Adonis/Addons/Auth';
/**
 * Lucid works works a bridge between the provider and the guard
 */
export declare class LucidUser<User extends LucidProviderModel> implements ProviderUserContract<InstanceType<User>> {
    user: InstanceType<User> | null;
    private config;
    private hash;
    constructor(user: InstanceType<User> | null, config: LucidProviderConfig<User>, hash: HashContract);
    /**
     * Returns the value of the user id
     */
    getId(): any;
    /**
     * Verifies the user password
     */
    verifyPassword(plainPassword: string): Promise<boolean>;
    /**
     * Returns the user remember me token or null
     */
    getRememberMeToken(): string | null;
    /**
     * Updates user remember me token
     */
    setRememberMeToken(token: string): void;
}
