/**
 * Manage user's password and credentials
 * @module Auth
 * @group Users
 */
import { ISEAPair } from "gun";
/**
 * @typedef {reactive} Auth
 */
export interface Auth {
    input: string;
    show: boolean;
    safePair: boolean;
    minLength: number;
    safe: {
        saved: boolean;
        password: string;
        enc: string;
        pass: string;
        rooms: object;
    };
    dec: {
        pass?: string;
        pair?: ISEAPair;
        [key: string]: string | undefined | ISEAPair;
    };
    links: {
        pass: string;
        pair: string;
    };
    set(): void;
}
export declare const pass: Auth;
export declare function parseLink(link: string, auth_url?: string): string;
/**
 * Manage password of a user
 * @returns {useAuth}
 */
export interface useAuth {
    pass: Auth;
    setPass: (text: string) => Promise<void>;
    authWithPass: (pub: string, passphrase: string) => Promise<void>;
}
export declare function useAuth(): useAuth;
export declare function hasPass(pub: string): Promise<any>;
export declare function useAuthLink(data: string, passPhrase: string): "encrypted" | "success" | "incorrect link";
