import type { SvmRpc } from '../types.js';
export declare function getMintDecimals(data: Uint8Array): number;
/**
 * Parses Token 2022 TLV extension blocks into a Map<extensionType, data>.
 */
export declare function parseToken2022Extensions(data: Uint8Array): Map<number, Uint8Array>;
/**
 * Decodes the MetadataPointer extension data (64 bytes):
 *   authority(32) + metadataAddress(32)
 * An all-zero pubkey means None.
 */
export declare function decodeMetadataPointerAddress(extData: Uint8Array): string | null;
/**
 * Decodes the TokenMetadata extension / standalone account data.
 * The spl-token-metadata-interface stores without discriminator:
 *   updateAuthority(32) + mint(32) + name(Borsh str) + symbol(Borsh str) + ...
 */
export declare function decodeTokenMetadataFields(data: Uint8Array): {
    name: string;
    symbol: string;
    uri: string;
} | null;
/**
 * Decodes name/symbol/uri from a Metaplex metadata account.
 * Layout: key(1) + updateAuthority(32) + mint(32), then Borsh strings.
 */
export declare function decodeMetaplexMetadata(data: Uint8Array): {
    name: string;
    symbol: string;
    uri: string;
};
/**
 * Fetches the name, symbol, and decimals for any SPL Token or Token 2022 mint.
 * Tries Token 2022 inline/external metadata first, then Metaplex, then falls
 * back to 'Unknown Token' / 'UNKNOWN' if no metadata is found.
 */
export declare function fetchMintMetadata(rpc: SvmRpc, mintAddress: string): Promise<{
    name: string;
    symbol: string;
    decimals: number;
    uri?: string;
}>;
//# sourceMappingURL=mint.d.ts.map