/// <reference path="../../adonis-typings/hash.d.ts" />
import { BcryptConfig, BcryptContract } from '@ioc:Adonis/Core/Hash';
/**
 * Generates and verifies hash using Bcrypt as underlying
 * algorigthm.
 */
export declare class Bcrypt implements BcryptContract {
    private config;
    ids: BcryptContract['ids'];
    params: BcryptContract['params'];
    version: number;
    constructor(config: BcryptConfig);
    /**
     * Returns hash for a given value
     */
    make(value: string): any;
    /**
     * Verify hash to know if two values are same.
     */
    verify(hashedValue: string, plainValue: string): Promise<boolean>;
    /**
     * Returns a boolean telling if hash needs a rehash. Returns true when
     * one of the original params have been changed.
     */
    needsReHash(value: string): boolean;
}
