import { IGasLimitEstimator } from "../core"; import { Address } from "../core/address"; import { BaseFactory } from "../core/baseFactory"; import { Transaction } from "../core/transaction"; import * as resources from "./resources"; interface IConfig { chainID: string; addressHrp: string; minGasLimit: bigint; gasLimitPerByte: bigint; gasLimitStake: bigint; gasLimitUnstake: bigint; gasLimitUnbond: bigint; gasLimitCreateDelegationContract: bigint; gasLimitDelegationOperations: bigint; additionalGasLimitPerValidatorNode: bigint; additionalGasLimitForDelegationOperations: bigint; } /** * Use this class to create delegation related transactions like creating a new delegation contract or adding nodes. */ export declare class DelegationTransactionsFactory extends BaseFactory { private readonly config; private readonly argSerializer; private readonly delegationManagerAddress; constructor(options: { config: IConfig; gasLimitEstimator?: IGasLimitEstimator; }); createTransactionForNewDelegationContract(sender: Address, options: resources.NewDelegationContractInput): Promise; createTransactionForAddingNodes(sender: Address, options: resources.AddNodesInput): Promise; createTransactionForRemovingNodes(sender: Address, options: resources.ManageNodesInput): Promise; createTransactionForStakingNodes(sender: Address, options: resources.ManageNodesInput): Promise; createTransactionForUnbondingNodes(sender: Address, options: resources.ManageNodesInput): Promise; createTransactionForUnstakingNodes(sender: Address, options: resources.ManageNodesInput): Promise; createTransactionForUnjailingNodes(sender: Address, options: resources.UnjailingNodesInput): Promise; createTransactionForChangingServiceFee(sender: Address, options: resources.ChangeServiceFee): Promise; createTransactionForModifyingDelegationCap(sender: Address, options: resources.ModifyDelegationCapInput): Promise; createTransactionForSettingAutomaticActivation(sender: Address, options: resources.ManageDelegationContractInput): Promise; createTransactionForUnsettingAutomaticActivation(sender: Address, options: resources.ManageDelegationContractInput): Promise; createTransactionForSettingCapCheckOnRedelegateRewards(sender: Address, options: resources.ManageDelegationContractInput): Promise; createTransactionForUnsettingCapCheckOnRedelegateRewards(sender: Address, options: resources.ManageDelegationContractInput): Promise; createTransactionForSettingMetadata(sender: Address, options: resources.SetContractMetadataInput): Promise; createTransactionForDelegating(sender: Address, options: resources.DelegateActionsInput): Promise; createTransactionForClaimingRewards(sender: Address, options: resources.ManageDelegationContractInput): Promise; createTransactionForRedelegatingRewards(sender: Address, options: resources.ManageDelegationContractInput): Promise; createTransactionForUndelegating(sender: Address, options: resources.DelegateActionsInput): Promise; createTransactionForWithdrawing(sender: Address, options: resources.ManageDelegationContractInput): Promise; private computeExecutionGasLimitForNodesManagement; } export {};