import njwt from 'njwt';
import { BFastDatabaseOptions } from '../bfast-database.option';
export declare class SecurityController {
    private readonly options;
    constructor(options: BFastDatabaseOptions);
    sha256OfObject(data: {
        [key: string]: any;
    }): string;
    dayToMillSecond(days: number): number;
    comparePassword(plainPassword: string, hashPassword: string): Promise<boolean>;
    hashPlainText(plainText: string): Promise<string>;
    decodeToken(token: string): {
        uid: string;
        [key: string]: any;
    };
    generateUUID(): string;
    getToken(data?: {
        uid: string;
        [key: string]: any;
    }, expire?: number, host?: string): Promise<string>;
    verifyToken(token: any): Promise<njwt.JSONMap>;
    private getJwk;
}
