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 { ClearingOperationType } from "../../../../domain/context/security/Clearing";
import { TransactionExecutor } from "../TransactionExecutor";
export declare class ClearingOperations {
    private readonly executor;
    constructor(executor: TransactionExecutor);
    activateClearing(security: EvmAddress, securityId: ContractId | string): Promise<TransactionResponse>;
    deactivateClearing(security: EvmAddress, securityId: ContractId | string): Promise<TransactionResponse>;
    clearingTransferByPartition(security: EvmAddress, partitionId: string, amount: BigDecimal, targetId: EvmAddress, expirationDate: BigDecimal, securityId: ContractId | string): Promise<TransactionResponse>;
    clearingTransferFromByPartition(security: EvmAddress, partitionId: string, amount: BigDecimal, sourceId: EvmAddress, targetId: EvmAddress, expirationDate: BigDecimal, securityId: ContractId | string): Promise<TransactionResponse>;
    protectedClearingTransferByPartition(security: EvmAddress, partitionId: string, amount: BigDecimal, sourceId: EvmAddress, targetId: EvmAddress, expirationDate: BigDecimal, deadline: BigDecimal, nonce: BigDecimal, signature: string, securityId: ContractId | string): Promise<TransactionResponse>;
    approveClearingOperationByPartition(security: EvmAddress, partitionId: string, targetId: EvmAddress, clearingId: number, clearingOperationType: ClearingOperationType, securityId: ContractId | string): Promise<TransactionResponse>;
    cancelClearingOperationByPartition(security: EvmAddress, partitionId: string, targetId: EvmAddress, clearingId: number, clearingOperationType: ClearingOperationType, securityId: ContractId | string): Promise<TransactionResponse>;
    reclaimClearingOperationByPartition(security: EvmAddress, partitionId: string, targetId: EvmAddress, clearingId: number, clearingOperationType: ClearingOperationType, securityId: ContractId | string): Promise<TransactionResponse>;
    clearingRedeemByPartition(security: EvmAddress, partitionId: string, amount: BigDecimal, expirationDate: BigDecimal, securityId: ContractId | string): Promise<TransactionResponse>;
    clearingRedeemFromByPartition(security: EvmAddress, partitionId: string, amount: BigDecimal, sourceId: EvmAddress, expirationDate: BigDecimal, securityId: ContractId | string): Promise<TransactionResponse>;
    protectedClearingRedeemByPartition(security: EvmAddress, partitionId: string, amount: BigDecimal, sourceId: EvmAddress, expirationDate: BigDecimal, deadline: BigDecimal, nonce: BigDecimal, signature: string, securityId: ContractId | string): Promise<TransactionResponse>;
    clearingCreateHoldByPartition(security: EvmAddress, partitionId: string, escrowId: EvmAddress, amount: BigDecimal, targetId: EvmAddress, clearingExpirationDate: BigDecimal, holdExpirationDate: BigDecimal, securityId: ContractId | string): Promise<TransactionResponse>;
    clearingCreateHoldFromByPartition(security: EvmAddress, partitionId: string, escrowId: EvmAddress, amount: BigDecimal, sourceId: EvmAddress, targetId: EvmAddress, clearingExpirationDate: BigDecimal, holdExpirationDate: BigDecimal, securityId: ContractId | string): Promise<TransactionResponse>;
    protectedClearingCreateHoldByPartition(security: EvmAddress, partitionId: string, amount: BigDecimal, escrowId: EvmAddress, sourceId: EvmAddress, targetId: EvmAddress, clearingExpirationDate: BigDecimal, holdExpirationDate: BigDecimal, deadline: BigDecimal, nonce: BigDecimal, signature: string, securityId: ContractId | string): Promise<TransactionResponse>;
    operatorClearingCreateHoldByPartition(security: EvmAddress, partitionId: string, escrowId: EvmAddress, amount: BigDecimal, sourceId: EvmAddress, targetId: EvmAddress, clearingExpirationDate: BigDecimal, holdExpirationDate: BigDecimal, securityId: ContractId | string): Promise<TransactionResponse>;
    operatorClearingRedeemByPartition(security: EvmAddress, partitionId: string, amount: BigDecimal, sourceId: EvmAddress, expirationDate: BigDecimal, securityId: ContractId | string): Promise<TransactionResponse>;
    operatorClearingTransferByPartition(security: EvmAddress, partitionId: string, amount: BigDecimal, sourceId: EvmAddress, targetId: EvmAddress, expirationDate: BigDecimal, securityId: ContractId | string): Promise<TransactionResponse>;
}
