import { ApiConfig as GatewayConfig } from 'arweave/node/lib/api';
import { ArAccount, T_addr, T_profile, T_tags } from './types';
import { JWKInterface } from 'arweave/node/lib/wallet';
export { ArAccount, T_profile as ArProfile };
export default class Account {
    private arweave;
    private ardb;
    private cache;
    private walletAddr;
    constructor({ cacheIsActivated, cacheSize, cacheTime, gateway, defaultAvatarUri, defaultBannerUri }?: {
        cacheIsActivated?: boolean | undefined;
        cacheSize?: number | undefined;
        cacheTime?: number | undefined;
        gateway?: GatewayConfig | undefined;
        defaultAvatarUri?: string | undefined;
        defaultBannerUri?: string | undefined;
    });
    connect(jwk?: JWKInterface | 'use_wallet'): Promise<void>;
    updateProfile(profile: T_profile, tags?: T_tags): Promise<import("arweave/node/lib/transaction").default>;
    get(addr: T_addr): Promise<ArAccount>;
    search(handle: string): Promise<ArAccount[]>;
    find(uniqueHandle: string): Promise<ArAccount | null>;
    debug: {
        resetCache: () => void;
        printCache: () => void;
    };
}
