///
import { AmmanAccountRendererMap } from '@metaplex-foundation/amman-client';
import { AccountInfo, Connection, PublicKey } from '@solana/web3.js';
import { AmmanAccount, AmmanAccountProvider } from '../types';
export declare const DEFAULT_MINT_DECIMALS = 9;
/** @private */
export declare type HandleWatchedAccountChanged = (account: AmmanAccount, slot: number, data: Buffer, rendered?: string) => void;
/**
* @private
*/
export declare class AccountProvider {
private readonly renderers;
/**
* providers by size
* size: 0 is used for providers of accounts that don't have a fixed size
*/
readonly byByteSize: Map;
readonly nonfixedProviders: AmmanAccountProvider[];
readonly connection: Connection;
private constructor();
static fromRecord(record: Record, renderers: AmmanAccountRendererMap): AccountProvider;
private _mapProviders;
tryResolveAccount(publicKey: PublicKey, accountInfo?: AccountInfo): Promise<{
account: AmmanAccount | undefined;
rendered: string | undefined;
data: Buffer;
} | undefined>;
syncAccountInformation(publicKey: PublicKey): Promise<{
account: AmmanAccount | undefined;
rendered: string | undefined;
data: Buffer;
} | undefined>;
private _getProviderAndResolveAccount;
_resolveFromProviderMatching(accountInfo: AccountInfo, publicKey: PublicKey): {
account: AmmanAccount;
rendered: string | undefined;
} | undefined;
private _tryResolveAccountFromProviders;
private _tryResolveAccountFromBuiltins;
private _resolveAccount;
private _toAmmanAccount;
private _getMintDecimals;
private _tryResolveAddressRemote;
}