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 HoldOperations {
    private readonly executor;
    constructor(executor: TransactionExecutor);
    createHoldByPartition(security: EvmAddress, partitionId: string, escrowId: EvmAddress, amount: BigDecimal, targetId: EvmAddress, expirationDate: BigDecimal, securityId: ContractId | string): Promise<TransactionResponse>;
    createHoldFromByPartition(security: EvmAddress, partitionId: string, escrowId: EvmAddress, amount: BigDecimal, sourceId: EvmAddress, targetId: EvmAddress, expirationDate: BigDecimal, securityId: ContractId | string): Promise<TransactionResponse>;
    controllerCreateHoldByPartition(security: EvmAddress, partitionId: string, escrowId: EvmAddress, amount: BigDecimal, sourceId: EvmAddress, targetId: EvmAddress, expirationDate: BigDecimal, securityId: ContractId | string): Promise<TransactionResponse>;
    protectedCreateHoldByPartition(security: EvmAddress, partitionId: string, amount: BigDecimal, escrowId: EvmAddress, sourceId: EvmAddress, targetId: EvmAddress, expirationDate: BigDecimal, deadline: BigDecimal, nonce: BigDecimal, signature: string, securityId: ContractId | string): Promise<TransactionResponse>;
    releaseHoldByPartition(security: EvmAddress, partitionId: string, holdId: number, targetId: EvmAddress, amount: BigDecimal, securityId: ContractId | string): Promise<TransactionResponse>;
    reclaimHoldByPartition(security: EvmAddress, partitionId: string, holdId: number, targetId: EvmAddress, securityId: ContractId | string): Promise<TransactionResponse>;
    executeHoldByPartition(security: EvmAddress, sourceId: EvmAddress, targetId: EvmAddress, amount: BigDecimal, partitionId: string, holdId: number, securityId: ContractId | string): Promise<TransactionResponse>;
}
