import type { AccountId, AssetsControllerGetAccountAssetByIDAction, AssetsControllerGetAccountAssetsByIDsAction, AssetsControllerGetAccountAssetsByScopeAction, Caip19AssetId } from "@metamask/assets-controller"; import type { Messenger } from "@metamask/messenger"; import { AsyncMessenger } from "@metamask/snaps-sdk"; import type { CaipChainId } from "@metamask/utils"; /** * Namespace for the {@link AssetsProvider} messenger. */ export declare const ASSETS_PROVIDER_NAME: "AssetsProvider"; /** * Actions from other messengers that {@link AssetsProvider} calls. */ export type AssetsProviderAllowedActions = AssetsControllerGetAccountAssetByIDAction | AssetsControllerGetAccountAssetsByIDsAction | AssetsControllerGetAccountAssetsByScopeAction; /** * Messenger restricted to actions consumed by {@link AssetsProvider}. */ export type AssetsProviderMessenger = AsyncMessenger>; export declare class AssetsProvider { #private; constructor({ messenger }: { messenger: AssetsProviderMessenger; }); /** * Returns a single account asset by CAIP-19 ID, or `undefined` if missing. * * @param accountId - Keyring account ID. * @param assetId - CAIP-19 asset ID. * @returns Controller asset, or `undefined`. */ getAccountAssetByID(accountId: AccountId, assetId: Caip19AssetId): Promise>; /** * Returns account assets for the given CAIP-19 IDs, keyed by asset ID. * * @param accountId - Keyring account ID. * @param assetIds - CAIP-19 asset IDs to resolve. * @returns Map of asset ID → controller asset. */ getAccountAssetsByIDs(accountId: AccountId, assetIds: Caip19AssetId[]): Promise>; /** * Returns controller-backed assets for an account on a chain. * * @param scope - CAIP-2 chain ID to filter controller results. * @param accountId - Keyring account ID. * @returns Controller assets keyed by CAIP-19 asset ID. */ getAccountAssetsByScope(scope: CaipChainId, accountId: AccountId): Promise>; } //# sourceMappingURL=AssetsProvider.d.mts.map