/**
 * A struct representing the market data for an asset.
 */
export declare const PricePercentChangeStruct: import("@metamask/superstruct").Struct<Record<string, number>, null>;
/**
 * A struct representing the market data for a fungible asset.
 *
 * @property fungible - Indicates that this is a fungible asset.
 * This is always `true` for fungible assets.
 * @property marketCap - The market capitalization of the asset.
 * @property totalVolume - The total volume of the asset.
 * @property circulatingSupply - The circulating supply of the asset.
 * @property allTimeHigh - The all-time high price of the asset.
 * @property allTimeLow - The all-time low price of the asset.
 * @property pricePercentChange - The percentage change in price over different intervals.
 * @property pricePercentChange.interval - The time interval for the price change as a ISO 8601 duration
 * or the string "all" to represent the all-time change.
 */
export declare const FungibleAssetMarketDataStruct: import("@metamask/superstruct").Struct<{
    fungible: true;
    marketCap?: string | undefined;
    totalVolume?: string | undefined;
    circulatingSupply?: string | undefined;
    allTimeHigh?: string | undefined;
    allTimeLow?: string | undefined;
    pricePercentChange?: Record<string, number> | undefined;
}, {
    fungible: import("@metamask/superstruct").Struct<true, true>;
    marketCap: import("@metamask/superstruct").Struct<string | undefined, null>;
    totalVolume: import("@metamask/superstruct").Struct<string | undefined, null>;
    circulatingSupply: import("@metamask/superstruct").Struct<string | undefined, null>;
    allTimeHigh: import("@metamask/superstruct").Struct<string | undefined, null>;
    allTimeLow: import("@metamask/superstruct").Struct<string | undefined, null>;
    pricePercentChange: import("@metamask/superstruct").Struct<Record<string, number> | undefined, null>;
}>;
/**
 * A struct representing an asset value, which includes the asset type and the amount.
 *
 * @property asset - The CAIP-19 asset type or ID of the asset.
 * @property amount - The price represented as a number in string format.
 */
export declare const AssetValueStruct: import("@metamask/superstruct").Struct<{
    asset: `${string}:${string}/${string}:${string}` | `${string}:${string}/${string}:${string}/${string}`;
    amount: string;
}, {
    asset: import("@metamask/superstruct").Struct<`${string}:${string}/${string}:${string}` | `${string}:${string}/${string}:${string}/${string}`, null>;
    amount: import("@metamask/superstruct").Struct<string, null>;
}>;
/**
 * A struct representing the market data for a non-fungible asset.
 *
 * @property asset - The CAIP-19 asset type or ID of the asset.
 * @property amount - The price represented as a number in string format.
 * @property fungible - Indicates that this is a non-fungible asset.
 * This is always `false` for non-fungible assets.
 * @property lastSale - The last sale price of the asset, if available. See {@link AssetValueStruct}.
 * @property topBid - The top bid price for the asset, if available. See {@link AssetValueStruct}.
 * @property floorPrice - The floor price of the asset, if available. See {@link AssetValueStruct}.
 * @property rarity - The rarity information for the asset, if available.
 * @property rarity.ranking - The ranking of the asset's rarity, if available.
 * @property rarity.ranking.source - The source of the rarity ranking.
 * @property rarity.ranking.rank - The rank of the asset in the rarity ranking.
 * @property rarity.metadata - Additional metadata about the asset's rarity, if available.
 * This is a record of string keys and number values.
 */
export declare const NonFungibleAssetMarketDataStruct: import("@metamask/superstruct").Struct<{
    fungible: false;
    lastSale?: {
        asset: `${string}:${string}/${string}:${string}` | `${string}:${string}/${string}:${string}/${string}`;
        amount: string;
    } | undefined;
    topBid?: {
        asset: `${string}:${string}/${string}:${string}` | `${string}:${string}/${string}:${string}/${string}`;
        amount: string;
    } | undefined;
    floorPrice?: {
        asset: `${string}:${string}/${string}:${string}` | `${string}:${string}/${string}:${string}/${string}`;
        amount: string;
    } | undefined;
    rarity?: {
        ranking?: {
            source: string;
            rank: number;
        } | undefined;
        metadata?: Record<string, number> | undefined;
    } | undefined;
}, {
    fungible: import("@metamask/superstruct").Struct<false, false>;
    lastSale: import("@metamask/superstruct").Struct<{
        asset: `${string}:${string}/${string}:${string}` | `${string}:${string}/${string}:${string}/${string}`;
        amount: string;
    } | undefined, {
        asset: import("@metamask/superstruct").Struct<`${string}:${string}/${string}:${string}` | `${string}:${string}/${string}:${string}/${string}`, null>;
        amount: import("@metamask/superstruct").Struct<string, null>;
    }>;
    topBid: import("@metamask/superstruct").Struct<{
        asset: `${string}:${string}/${string}:${string}` | `${string}:${string}/${string}:${string}/${string}`;
        amount: string;
    } | undefined, {
        asset: import("@metamask/superstruct").Struct<`${string}:${string}/${string}:${string}` | `${string}:${string}/${string}:${string}/${string}`, null>;
        amount: import("@metamask/superstruct").Struct<string, null>;
    }>;
    floorPrice: import("@metamask/superstruct").Struct<{
        asset: `${string}:${string}/${string}:${string}` | `${string}:${string}/${string}:${string}/${string}`;
        amount: string;
    } | undefined, {
        asset: import("@metamask/superstruct").Struct<`${string}:${string}/${string}:${string}` | `${string}:${string}/${string}:${string}/${string}`, null>;
        amount: import("@metamask/superstruct").Struct<string, null>;
    }>;
    rarity: import("@metamask/superstruct").Struct<{
        ranking?: {
            source: string;
            rank: number;
        } | undefined;
        metadata?: Record<string, number> | undefined;
    } | undefined, {
        ranking: import("@metamask/superstruct").Struct<{
            source: string;
            rank: number;
        } | undefined, {
            source: import("@metamask/superstruct").Struct<string, null>;
            rank: import("@metamask/superstruct").Struct<number, null>;
        }>;
        metadata: import("@metamask/superstruct").Struct<Record<string, number> | undefined, null>;
    }>;
}>;
/**
 * A struct representing the market data for an asset, which can be either {@link FungibleAssetMarketDataStruct} or {@link NonFungibleAssetMarketDataStruct}.
 */
export declare const AssetMarketDataStruct: import("@metamask/superstruct").Struct<{
    fungible: true;
    marketCap?: string | undefined;
    totalVolume?: string | undefined;
    circulatingSupply?: string | undefined;
    allTimeHigh?: string | undefined;
    allTimeLow?: string | undefined;
    pricePercentChange?: Record<string, number> | undefined;
} | {
    fungible: false;
    lastSale?: {
        asset: `${string}:${string}/${string}:${string}` | `${string}:${string}/${string}:${string}/${string}`;
        amount: string;
    } | undefined;
    topBid?: {
        asset: `${string}:${string}/${string}:${string}` | `${string}:${string}/${string}:${string}/${string}`;
        amount: string;
    } | undefined;
    floorPrice?: {
        asset: `${string}:${string}/${string}:${string}` | `${string}:${string}/${string}:${string}/${string}`;
        amount: string;
    } | undefined;
    rarity?: {
        ranking?: {
            source: string;
            rank: number;
        } | undefined;
        metadata?: Record<string, number> | undefined;
    } | undefined;
}, null>;
/**
 * A struct representing the response of the `onAssetsMarketData` method.
 *
 * @property marketData - A nested object with two CAIP-19 keys that contains a {@link AssetMarketData} object or null.
 */
export declare const OnAssetsMarketDataResponseStruct: import("@metamask/superstruct").Struct<{
    marketData: Record<`${string}:${string}/${string}:${string}` | `${string}:${string}/${string}:${string}/${string}`, Record<`${string}:${string}/${string}:${string}`, {
        fungible: true;
        marketCap?: string | undefined;
        totalVolume?: string | undefined;
        circulatingSupply?: string | undefined;
        allTimeHigh?: string | undefined;
        allTimeLow?: string | undefined;
        pricePercentChange?: Record<string, number> | undefined;
    } | {
        fungible: false;
        lastSale?: {
            asset: `${string}:${string}/${string}:${string}` | `${string}:${string}/${string}:${string}/${string}`;
            amount: string;
        } | undefined;
        topBid?: {
            asset: `${string}:${string}/${string}:${string}` | `${string}:${string}/${string}:${string}/${string}`;
            amount: string;
        } | undefined;
        floorPrice?: {
            asset: `${string}:${string}/${string}:${string}` | `${string}:${string}/${string}:${string}/${string}`;
            amount: string;
        } | undefined;
        rarity?: {
            ranking?: {
                source: string;
                rank: number;
            } | undefined;
            metadata?: Record<string, number> | undefined;
        } | undefined;
    } | null>>;
}, {
    marketData: import("@metamask/superstruct").Struct<Record<`${string}:${string}/${string}:${string}` | `${string}:${string}/${string}:${string}/${string}`, Record<`${string}:${string}/${string}:${string}`, {
        fungible: true;
        marketCap?: string | undefined;
        totalVolume?: string | undefined;
        circulatingSupply?: string | undefined;
        allTimeHigh?: string | undefined;
        allTimeLow?: string | undefined;
        pricePercentChange?: Record<string, number> | undefined;
    } | {
        fungible: false;
        lastSale?: {
            asset: `${string}:${string}/${string}:${string}` | `${string}:${string}/${string}:${string}/${string}`;
            amount: string;
        } | undefined;
        topBid?: {
            asset: `${string}:${string}/${string}:${string}` | `${string}:${string}/${string}:${string}/${string}`;
            amount: string;
        } | undefined;
        floorPrice?: {
            asset: `${string}:${string}/${string}:${string}` | `${string}:${string}/${string}:${string}/${string}`;
            amount: string;
        } | undefined;
        rarity?: {
            ranking?: {
                source: string;
                rank: number;
            } | undefined;
            metadata?: Record<string, number> | undefined;
        } | undefined;
    } | null>>, null>;
}>;
//# sourceMappingURL=assets-market-data.d.cts.map