import { BaseHandler, ILogger, IdentifierService } from "@ic-wallet-middleware/common";
import { GetListTransactionHandler } from "../../../handlers/transactionHandlers/getListTransactionHandler/getListTransactionHandler";
import { GetSubAccountByHandler } from "../../../internalHandlers/getSubAccountByHandler/getSubAccountByHandler";
import { AssetMetaDataCacheHandler } from "../../../internalHandlers/icrcCacheDataHandlers/assets/assetMetaDataCacheHandler/assetMetaDataCacheHandler";
import { SubAccountBalanceHandler } from "../../../internalHandlers/icrcCacheDataHandlers/assets/subAccountBalanceHandler/subAccountBalanceHandler";
import { AssetRepository } from "../../../repositories";
import { SendTransactionForm } from "../../../types/transactions/sendTransactionForm";
import { SendTransactionResult } from "../../../types/transactions/sendTransactionResult";
export declare class SendTransactionHandler extends BaseHandler<SendTransactionForm, SendTransactionResult> {
    private identifierService;
    private assetMetaDataHandler;
    private getSubAccountByHandler;
    private subAccountBalanceHandler;
    private getListTransactionHandler;
    private assetRepository;
    constructor(logger: ILogger, identifierService: IdentifierService, assetMetaDataHandler: AssetMetaDataCacheHandler, getSubAccountByHandler: GetSubAccountByHandler, subAccountBalanceHandler: SubAccountBalanceHandler, getListTransactionHandler: GetListTransactionHandler, assetRepository: AssetRepository);
    validate(form: SendTransactionForm): Promise<void>;
    process(form: SendTransactionForm): Promise<SendTransactionResult>;
}
