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