/**
 * Manage user's password and credentials
 * @module Pass
 * @group Users
 */
import { ISEAPair } from "gun";
/**
 * @typedef {reactive} Pass
 * @property {Object} safe
 * @property {Object} dec
 */
export interface Pass {
    input: string;
    show: boolean;
    safePair: boolean;
    minLength: number;
    safe: {
        enc?: string;
        pass?: string;
        [key: string]: string | undefined;
    };
    dec: {
        pass?: string;
        pair?: ISEAPair;
        [key: string]: string | undefined | ISEAPair;
    };
    links: {
        pass: string;
        pair: string;
    };
    set(): void;
}
export declare const pass: Pass;
export declare function parseLink(link: string, auth_url?: string): string;
/**
 * Manage password of a user
 * @returns {usePass}
 */
export interface UsePass {
    pass: Pass;
    setPass: (text: string) => Promise<void>;
    logWithPass: (pub: string, passphrase: string) => Promise<void>;
}
export declare function usePass(): UsePass;
export declare function hasPass(pub: string): Promise<any>;
export declare function usePassLink(data: string, passPhrase: string): "success" | "encrypted" | "incorrect link";
//# sourceMappingURL=usePass.d.ts.map