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 { RateStatus } from "../../../../domain/context/bond/RateStatus";
import { TransactionExecutor } from "../TransactionExecutor";
export declare class SecurityOperations {
    private readonly executor;
    constructor(executor: TransactionExecutor);
    setCoupon(security: EvmAddress, recordDate: BigDecimal, executionDate: BigDecimal, rate: BigDecimal, startDate: BigDecimal, endDate: BigDecimal, fixingDate: BigDecimal, rateStatus: RateStatus, securityId: ContractId | string): Promise<TransactionResponse>;
    cancelCoupon(security: EvmAddress, couponId: number, securityId: ContractId | string): Promise<TransactionResponse<any, Error>>;
    setRate(security: EvmAddress, rate: BigDecimal, rateDecimals: number, securityId: ContractId | string): Promise<TransactionResponse>;
    setInterestRate(security: EvmAddress, maxRate: BigDecimal, baseRate: BigDecimal, minRate: BigDecimal, startPeriod: BigDecimal, startRate: BigDecimal, missedPenalty: BigDecimal, reportPeriod: BigDecimal, rateDecimals: number, securityId: ContractId | string): Promise<TransactionResponse>;
    setImpactData(security: EvmAddress, maxDeviationCap: BigDecimal, baseLine: BigDecimal, maxDeviationFloor: BigDecimal, impactDataDecimals: number, adjustmentPrecision: BigDecimal, securityId: ContractId | string): Promise<TransactionResponse>;
    addKpiData(security: EvmAddress, date: number, value: string, project: EvmAddress, securityId: ContractId | string): Promise<TransactionResponse>;
    updateMaturityDate(security: EvmAddress, maturityDate: number, securityId: ContractId | string): Promise<TransactionResponse>;
    addProceedRecipient(security: EvmAddress, proceedRecipient: EvmAddress, data: string, securityId: ContractId | string): Promise<TransactionResponse>;
    removeProceedRecipient(security: EvmAddress, proceedRecipient: EvmAddress, securityId: ContractId | string): Promise<TransactionResponse>;
    updateProceedRecipientData(security: EvmAddress, proceedRecipient: EvmAddress, data: string, securityId: ContractId | string): Promise<TransactionResponse>;
    setDividend(security: EvmAddress, recordDate: BigDecimal, executionDate: BigDecimal, amount: BigDecimal, securityId: ContractId | string): Promise<TransactionResponse>;
    cancelDividend(security: EvmAddress, dividendId: number, securityId: ContractId | string): Promise<TransactionResponse<any, Error>>;
    setVotingRights(security: EvmAddress, recordDate: BigDecimal, data: string, securityId: ContractId | string): Promise<TransactionResponse>;
    cancelVoting(security: EvmAddress, votingId: number, securityId: ContractId | string): Promise<TransactionResponse<any, Error>>;
    setScheduledBalanceAdjustment(security: EvmAddress, executionDate: BigDecimal, factor: BigDecimal, decimals: BigDecimal, securityId: ContractId | string): Promise<TransactionResponse>;
    cancelScheduledBalanceAdjustment(security: EvmAddress, balanceAdjustmentId: number, securityId: ContractId | string): Promise<TransactionResponse<any, Error>>;
    takeSnapshot(security: EvmAddress, securityId: ContractId | string): Promise<TransactionResponse>;
    triggerPendingScheduledSnapshots(security: EvmAddress, securityId: ContractId | string): Promise<TransactionResponse>;
    triggerScheduledSnapshots(security: EvmAddress, max: BigDecimal, securityId: ContractId | string): Promise<TransactionResponse>;
}
