import { Address, BaseController, BaseControllerInput, IAccount, IGasLimitEstimator, Transaction, TransactionOnNetwork } from "../core"; import { INetworkProvider } from "../networkProviders"; import { ChangeConfigInput, ClearEndedProposalsInput, CloseProposalInput, CloseProposalOutcome, DelegatedVoteInfo, GovernanceConfig, NewProposalInput, NewProposalOutcome, ProposalInfo, VoteOutcome, VoteProposalInput } from "./resources"; export declare class GovernanceController extends BaseController { private readonly governanceFactory; private readonly parser; private readonly smartContractController; private readonly governanceContract; private readonly transactionAwaiter; private readonly addressHrp; private readonly serializer; constructor(options: { chainID: string; networkProvider: INetworkProvider; addressHrp?: string; gasLimitEstimator?: IGasLimitEstimator; }); createTransactionForNewProposal(sender: IAccount, nonce: bigint, options: NewProposalInput & BaseControllerInput): Promise; parseNewProposal(transaction: TransactionOnNetwork): NewProposalOutcome[]; awaitCompletedProposeProposal(txHash: string): Promise; createTransactionForVoting(sender: IAccount, nonce: bigint, options: VoteProposalInput & BaseControllerInput): Promise; parseVote(transaction: TransactionOnNetwork): VoteOutcome[]; awaitCompletedVote(txHash: string): Promise; createTransactionForClosingProposal(sender: IAccount, nonce: bigint, options: CloseProposalInput & BaseControllerInput): Promise; parseCloseProposal(transaction: TransactionOnNetwork): CloseProposalOutcome[]; awaitCompletedCloseProposal(txHash: string): Promise; createTransactionForClearingEndedProposals(sender: IAccount, nonce: bigint, options: ClearEndedProposalsInput & BaseControllerInput): Promise; createTransactionForClaimingAccumulatedFees(sender: IAccount, nonce: bigint, options: BaseControllerInput): Promise; createTransactionForChangingConfig(sender: IAccount, nonce: bigint, options: ChangeConfigInput & BaseControllerInput): Promise; getVotingPower(address: Address): Promise; getConfig(): Promise; getProposal(proposalNonce: number): Promise; getDelegatedVoteInfo(): Promise; }