import { BaseHandler, ILogger, IdentifierService } from "@ic-wallet-middleware/common";
import { GetAllowanceSubAccountBalanceCacheHandler } from "../../../internalHandlers/icrcCacheDataHandlers/allowances/getAllowanceSubAccountBalanceCacheHandler/getAllowanceSubAccountBalanceCacheHandler";
import { AssetMetaDataCacheHandler } from "../../../internalHandlers/icrcCacheDataHandlers/assets/assetMetaDataCacheHandler/assetMetaDataCacheHandler";
import { AssetRepository } from "../../../repositories/persists/assetRepository/assetRepository";
import { AllowanceResult } from "../../../types/forms/allowances/allowanceResult";
import { TransferFromAllowanceForm } from "../../../types/forms/transfers/transferFromAllowanceForm";
import "reflect-metadata";
export declare class TransferFromAllowanceHandler extends BaseHandler<TransferFromAllowanceForm, AllowanceResult> {
    private identifierService;
    private assetMetaDataHandler;
    private assetRepository;
    private getAllowanceSubAccountBalanceHandler;
    constructor(logger: ILogger, identifierService: IdentifierService, assetMetaDataHandler: AssetMetaDataCacheHandler, assetRepository: AssetRepository, getAllowanceSubAccountBalanceHandler: GetAllowanceSubAccountBalanceCacheHandler);
    validate(form: TransferFromAllowanceForm): Promise<void>;
    process(form: TransferFromAllowanceForm): Promise<AllowanceResult>;
}
