import { TokenUser, User } from "@openiap/openflow-api";
import { Span } from "@opentelemetry/api";
export declare class Crypt {
    static encryption_key: string;
    static iv_length: number;
    static bcrypt_salt_rounds: number;
    static rootUser(): User;
    static rootToken(): string;
    static SetPassword(user: User, password: string, parent: Span): Promise<void>;
    static ValidatePassword(user: User, password: string, parent: Span): Promise<boolean>;
    static encrypt(text: string): string;
    static decrypt(text: string): string;
    static hash(password: string): Promise<string>;
    static compare(password: string, passwordhash: string, parent: Span): Promise<boolean>;
    static createToken(item: User | TokenUser, expiresIn: string): string;
    static verityToken(token: string): TokenUser;
    static decryptToken(token: string): any;
}
