import { ContractId } from "@hiero-ledger/sdk";
import BigDecimal from "../../../../domain/context/shared/BigDecimal";
import EvmAddress from "../../../../domain/context/contract/EvmAddress";
import TransactionResponse from "../../../../domain/context/transaction/TransactionResponse";
import { TransactionExecutor } from "../TransactionExecutor";
export declare class TransferOperations {
    private readonly executor;
    constructor(executor: TransactionExecutor);
    transfer(security: EvmAddress, targetId: EvmAddress, amount: BigDecimal, securityId: ContractId | string): Promise<TransactionResponse>;
    transferAndLock(security: EvmAddress, targetId: EvmAddress, amount: BigDecimal, expirationDate: BigDecimal, securityId: ContractId | string): Promise<TransactionResponse>;
    redeem(security: EvmAddress, amount: BigDecimal, securityId: ContractId | string): Promise<TransactionResponse>;
    burn(security: EvmAddress, source: EvmAddress, amount: BigDecimal, securityId: ContractId | string): Promise<TransactionResponse>;
    controllerTransfer(security: EvmAddress, sourceId: EvmAddress, targetId: EvmAddress, amount: BigDecimal, securityId: ContractId | string): Promise<TransactionResponse>;
    forcedTransfer(security: EvmAddress, source: EvmAddress, target: EvmAddress, amount: BigDecimal, securityId: ContractId | string): Promise<TransactionResponse>;
    controllerRedeem(security: EvmAddress, sourceId: EvmAddress, amount: BigDecimal, securityId: ContractId | string): Promise<TransactionResponse>;
    operatorTransferByPartition(security: EvmAddress, sourceId: EvmAddress, targetId: EvmAddress, amount: BigDecimal, partitionId: string, securityId: ContractId | string): Promise<TransactionResponse>;
    batchTransfer(security: EvmAddress, amountList: BigDecimal[], toList: EvmAddress[], securityId: ContractId | string): Promise<TransactionResponse>;
    batchForcedTransfer(security: EvmAddress, amountList: BigDecimal[], fromList: EvmAddress[], toList: EvmAddress[], securityId: ContractId | string): Promise<TransactionResponse>;
    batchBurn(security: EvmAddress, amountList: BigDecimal[], targetList: EvmAddress[], securityId: ContractId | string): Promise<TransactionResponse>;
}
