/**
 * Basic user management
 * @module Account
 * @group Users
 * */
/**
 * @group Account
 */
export interface Profile {
    name?: string;
    first_name?: string;
    last_name?: string;
    birth_day?: string;
    [key: string]: string | undefined;
}
/**
 * @group Account
 */
export interface Account {
    pub: string | Ref;
    color: string;
    pulse: number;
    blink: boolean;
    profile: Profile;
    petname?: string;
    db?: object;
}
import { ComputedRef, Ref } from "vue";
import { MaybeRef } from "@vueuse/core";
/**
 * Load and handle user's account by a public key
 * @group Account
 * @example
 * import { ref } from 'vue'
 * import { useAccount, SEA } from '@gun-vue/composables'
 *
 * const pub = ref()
 *
 * async function generatePair() {
 *  pub.value = await SEA.pair()
 * }
 *
 * const { account } = useAccount(pub)
 *
 * generatePair()
 */
export declare function useAccount(pubKey: MaybeRef<string>): {
    account: ComputedRef<Account>;
    setPetname: Function;
};
/**
 * @group Account
 */
export declare function setPetname(pub: string, name: string): Promise<void>;
//# sourceMappingURL=useAccount.d.ts.map