import { BaseHandler, ILogger } from "@ic-wallet-middleware/common";
import { AddIcrcAllowanceHandler } from "../../../internalHandlers/icrcCacheDataHandlers/allowances/addIcrcAllowanceHandler/addIcrcAllowanceHandler";
import { AssetMetaDataCacheHandler } from "../../../internalHandlers/icrcCacheDataHandlers/assets/assetMetaDataCacheHandler/assetMetaDataCacheHandler";
import { SubAccountBalanceHandler } from "../../../internalHandlers/icrcCacheDataHandlers/assets/subAccountBalanceHandler/subAccountBalanceHandler";
import { AllowanceRepository } from "../../../repositories/persists/allowanceRepository/allowanceRepository";
import { AssetRepository } from "../../../repositories/persists/assetRepository/assetRepository";
import { AddAllowanceForm } from "../../../types/forms/allowances/addAllowanceForm";
import { AssetManagerConfiguration } from "../../../types";
import { AllowanceResult } from "../../../types/forms/allowances/allowanceResult";
import "reflect-metadata";
export declare class AddAllowanceHandler extends BaseHandler<AddAllowanceForm, AllowanceResult> {
    private assetMetaDataHandler;
    private assetRepository;
    private allowanceRepository;
    private addIcrcAllowanceHandler;
    private configuration;
    private subAccountBalanceHandler;
    constructor(logger: ILogger, assetMetaDataHandler: AssetMetaDataCacheHandler, assetRepository: AssetRepository, allowanceRepository: AllowanceRepository, addIcrcAllowanceHandler: AddIcrcAllowanceHandler, configuration: AssetManagerConfiguration, subAccountBalanceHandler: SubAccountBalanceHandler);
    validate(form: AddAllowanceForm): Promise<void>;
    process(form: AddAllowanceForm): Promise<AllowanceResult>;
}
