import { SignerWithAddress } from "@nomicfoundation/hardhat-ethers/signers";
import { B3TR, B3TRGovernor, Emissions, GovernorDepositLogicV1, GovernorProposalLogicV1, GovernorFunctionRestrictionsLogicV1, GovernorQuorumLogicV1, TimeLock, VOT3, VoterRewards, XAllocationVoting, GovernorClockLogicV1, GovernorStateLogicV1, GovernorVotesLogicV1, GovernorConfiguratorV1, VeBetterPassport, Treasury, GrantsManager, X2EarnApps, GalaxyMember } from "../../typechain-types";
import { ContractFactory, ContractTransactionReceipt } from "ethers";
export declare const STANDARD_PROPOSAL_TYPE: bigint;
export declare const GRANT_PROPOSAL_TYPE: bigint;
interface GovernanceFixture {
    governor: B3TRGovernor;
    vot3: VOT3;
    b3tr: B3TR;
    treasury: Treasury;
    owner: SignerWithAddress;
    timeLock: TimeLock;
    xAllocationVoting: XAllocationVoting;
    voterRewards: VoterRewards;
    otherAccounts: SignerWithAddress[];
    proposer: SignerWithAddress;
    voter: SignerWithAddress;
    emissions: Emissions;
    governorClockLogicLibV1: GovernorClockLogicV1;
    governorConfiguratorLibV1: GovernorConfiguratorV1;
    governorDepositLogicLibV1: GovernorDepositLogicV1;
    governorFunctionRestrictionsLogicLibV1: GovernorFunctionRestrictionsLogicV1;
    governorProposalLogicLibV1: GovernorProposalLogicV1;
    governorQuorumLogicLibV1: GovernorQuorumLogicV1;
    governorStateLogicLibV1: GovernorStateLogicV1;
    governorVotesLogicLibV1: GovernorVotesLogicV1;
    b3trContract: ContractFactory;
    veBetterPassport: VeBetterPassport;
    minterAccount: SignerWithAddress;
    otherAccount: SignerWithAddress;
    grantsManager: GrantsManager;
    x2EarnApps: X2EarnApps;
    creators: SignerWithAddress[];
    galaxyMember: GalaxyMember;
}
export declare function setupGovernanceFixture(): Promise<GovernanceFixture>;
export declare function setupProposer(account: SignerWithAddress, b3tr: B3TR, vot3: VOT3, minterAccount: SignerWithAddress, amount?: string): Promise<void>;
export declare function setupVoter(voter: SignerWithAddress, b3tr: B3TR, vot3: VOT3, minterAccount: SignerWithAddress, owner: SignerWithAddress, veBetterPassport: VeBetterPassport): Promise<void>;
export declare function setupSupporter(supporter: SignerWithAddress, vot3: VOT3, amount: bigint, governor: B3TRGovernor): Promise<void>;
export declare function startNewRoundAndGetRoundId(emissions: Emissions, xAllocationVoting: XAllocationVoting): Promise<string>;
export declare function validateProposalEvents(governor: B3TRGovernor, receipt: ContractTransactionReceipt | null, expectedType: number, proposerAddress: string, description: string): Promise<{
    proposalId: any;
    decodedProposalCreatedEvent: any;
    decodedProposalCreatedWithTypeEvent: any;
}>;
export declare function setupGovernanceFixtureWithEmissions(): Promise<GovernanceFixture>;
export {};
