import { BaseHandler, ILogger, IdentifierService } from "@ic-wallet-middleware/common";
import { AssetMetaDataCacheHandler } from "../../../internalHandlers/icrcCacheDataHandlers/assets/assetMetaDataCacheHandler/assetMetaDataCacheHandler";
import { SubAccountBalanceHandler } from "../../../internalHandlers/icrcCacheDataHandlers/assets/subAccountBalanceHandler/subAccountBalanceHandler";
import { ServiceAssetCacheCreditHandler } from "../../../internalHandlers/icrcCacheDataHandlers/services/serviceAssetCreditCacheHandler/ServiceAssetCacheCreditHandler";
import { ServiceAssetDepositHandler } from "../../../internalHandlers/icrcCacheDataHandlers/services/serviceAssetDepositHandler/serviceAssetDepositHandler";
import { ServiceAssetDetailsHandler } from "../../../internalHandlers/icrcCacheDataHandlers/services/serviceAssetDetailsHandler/serviceAssetDetailsHandler";
import { TransferFromServiceResult } from "../../../types/forms";
import { TransferFromServiceForm } from "../../../types/forms/transfers/transferFromServiceForm";
export declare class TransferFromServiceHandler extends BaseHandler<TransferFromServiceForm, TransferFromServiceResult> {
    private assetMetaDataHandler;
    private serviceAssetDetailsHandler;
    private serviceAssetCreditHandler;
    private serviceAssetDepositHandler;
    private identifierService;
    private subAccountBalanceHandler;
    constructor(logger: ILogger, assetMetaDataHandler: AssetMetaDataCacheHandler, serviceAssetDetailsHandler: ServiceAssetDetailsHandler, serviceAssetCreditHandler: ServiceAssetCacheCreditHandler, serviceAssetDepositHandler: ServiceAssetDepositHandler, identifierService: IdentifierService, subAccountBalanceHandler: SubAccountBalanceHandler);
    validate(form: TransferFromServiceForm): Promise<void>;
    process(form: TransferFromServiceForm): Promise<TransferFromServiceResult>;
}
