import { ILogger } from "@ic-wallet-middleware/common";
import { BaseInternalHandler } from "../../internalHandlers/baseInternalHandler/baseInternalHandler";
import { AssetMetaDataCacheHandler } from "../../internalHandlers/icrcCacheDataHandlers/assets/assetMetaDataCacheHandler/assetMetaDataCacheHandler";
import { AssetTransactionFeeCacheHandler } from "../../internalHandlers/icrcCacheDataHandlers/assets/assetTransactionFeeCacheHandler/assetTransactionFeeCacheHandler";
import { GetTokenMarketCacheHandler } from "../../internalHandlers/icrcCacheDataHandlers/assets/getTokenMarketCacheHandler/getTokenMarketCacheHandler";
import { SubAccountBalanceHandler } from "../../internalHandlers/icrcCacheDataHandlers/assets/subAccountBalanceHandler/subAccountBalanceHandler";
import { AssetICRC } from "../../types";
import { LoadAssetForm } from "../../types/forms/assets/loadAssetForm";
export declare class LoadAssetHandler extends BaseInternalHandler<LoadAssetForm, AssetICRC> {
    private assetMetaDateHandler;
    private assetTransactionFeeHandler;
    protected subAccountBalanceHandler: SubAccountBalanceHandler;
    private getTokenMarketCacheHandler;
    constructor(logger: ILogger, assetMetaDateHandler: AssetMetaDataCacheHandler, assetTransactionFeeHandler: AssetTransactionFeeCacheHandler, subAccountBalanceHandler: SubAccountBalanceHandler, getTokenMarketCacheHandler: GetTokenMarketCacheHandler);
    validate(form: LoadAssetForm): Promise<void>;
    process(form: LoadAssetForm): Promise<AssetICRC>;
}
