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 SecurityMetadataOperations {
    private readonly executor;
    constructor(executor: TransactionExecutor);
    setName(security: EvmAddress, name: string, securityId: ContractId | string): Promise<TransactionResponse>;
    setSymbol(security: EvmAddress, symbol: string, securityId: ContractId | string): Promise<TransactionResponse>;
    setDocument(security: EvmAddress, name: string, uri: string, hash: string, securityId: ContractId | string): Promise<TransactionResponse>;
    removeDocument(security: EvmAddress, name: string, securityId: ContractId | string): Promise<TransactionResponse>;
    updateConfigVersion(security: EvmAddress, configVersion: number, securityId: ContractId | string): Promise<TransactionResponse>;
    updateConfig(security: EvmAddress, configId: string, configVersion: number, securityId: ContractId | string): Promise<TransactionResponse>;
    updateResolver(security: EvmAddress, resolver: EvmAddress, configVersion: number, configId: string, securityId: ContractId | string): Promise<TransactionResponse>;
    protectPartitions(security: EvmAddress, securityId: ContractId | string): Promise<TransactionResponse>;
    unprotectPartitions(security: EvmAddress, securityId: ContractId | string): Promise<TransactionResponse>;
    protectedRedeemFromByPartition(security: EvmAddress, partitionId: string, sourceId: EvmAddress, amount: BigDecimal, deadline: BigDecimal, nounce: BigDecimal, signature: string, securityId: ContractId | string): Promise<TransactionResponse>;
    protectedTransferFromByPartition(security: EvmAddress, partitionId: string, sourceId: EvmAddress, targetId: EvmAddress, amount: BigDecimal, deadline: BigDecimal, nounce: BigDecimal, signature: string, securityId: ContractId | string): Promise<TransactionResponse>;
    freezePartialTokens(security: EvmAddress, amount: BigDecimal, targetId: EvmAddress, securityId: ContractId | string): Promise<TransactionResponse>;
    unfreezePartialTokens(security: EvmAddress, amount: BigDecimal, targetId: EvmAddress, securityId: ContractId | string): Promise<TransactionResponse>;
    setAddressFrozen(security: EvmAddress, status: boolean, target: EvmAddress, securityId: ContractId | string): Promise<TransactionResponse>;
    batchSetAddressFrozen(security: EvmAddress, freezeList: boolean[], targetList: EvmAddress[], securityId: ContractId | string): Promise<TransactionResponse>;
    batchFreezePartialTokens(security: EvmAddress, amountList: BigDecimal[], targetList: EvmAddress[], securityId: ContractId | string): Promise<TransactionResponse>;
    batchUnfreezePartialTokens(security: EvmAddress, amountList: BigDecimal[], targetList: EvmAddress[], securityId: ContractId | string): Promise<TransactionResponse>;
    recoveryAddress(security: EvmAddress, lostWalletId: EvmAddress, newWalletId: EvmAddress, securityId: ContractId | string): Promise<TransactionResponse>;
    addAgent(security: EvmAddress, agentId: EvmAddress, securityId: ContractId | string): Promise<TransactionResponse>;
    removeAgent(security: EvmAddress, agentId: EvmAddress, securityId: ContractId | string): Promise<TransactionResponse>;
    setMaxSupply(security: EvmAddress, maxSupply: BigDecimal, securityId: ContractId | string): Promise<TransactionResponse>;
    setNominalValue(security: EvmAddress, nominalValue: string, nominalValueDecimals: number, securityId: ContractId | string): Promise<TransactionResponse>;
}
