import { Address } from "../core"; export declare type NewProposalInput = { commitHash: string; startVoteEpoch: number; endVoteEpoch: number; nativeTokenAmount: bigint; }; export declare type VoteProposalInput = { proposalNonce: number; vote: Vote; }; export declare enum Vote { YES = "yes", NO = "no", ABSTAIN = "abstain", VETO = "veto" } export declare type CloseProposalInput = { proposalNonce: number; }; export declare type ClearEndedProposalsInput = { proposers: Address[]; }; export declare type ChangeConfigInput = { proposalFee: bigint; lastProposalFee: bigint; minQuorum: number; minVetoThreshold: number; minPassThreshold: number; }; export declare type NewProposalOutcome = { proposalNonce: number; commitHash: string; startVoteEpoch: number; endVoteEpoch: number; }; export declare type VoteOutcome = { proposalNonce: number; vote: string; totalStake: bigint; votingPower: bigint; }; export declare type DelegateVoteOutcome = { proposalNonce: number; vote: string; voter: Address; userStake: bigint; votingPower: bigint; }; export declare type CloseProposalOutcome = { commitHash: string; passed: boolean; }; export declare type GovernanceConfig = { proposalFee: bigint; lostProposalFee: bigint; minQuorum: number; minPassThreshold: number; minVetoThreshold: number; lastProposalNonce: number; }; export declare type ProposalInfo = { cost: bigint; commitHash: string; nonce: number; issuer: Address; startVoteEpoch: number; endVoteEpoch: number; quorumStake: bigint; numYesVotes: bigint; numNoVotes: bigint; numVetoVotes: bigint; numAbstainVotes: bigint; isClosed: boolean; isPassed: boolean; }; export declare type DelegatedVoteInfo = { usedStake: bigint; usedPower: bigint; totalStake: bigint; totalPower: bigint; };