import { BigNumberish, Contract, ContractTransaction } from 'ethers'; import { Baal, MultiSend, Poster } from '../../src/types'; export declare type DAOSettings = { PROPOSAL_OFFERING: any; GRACE_PERIOD_IN_SECONDS: any; VOTING_PERIOD_IN_SECONDS: any; QUORUM_PERCENT: any; SPONSOR_THRESHOLD: any; MIN_RETENTION_PERCENT: any; MIN_STAKING_PERCENT: any; TOKEN_NAME: any; TOKEN_SYMBOL: any; }; export declare const abiCoder: import("@ethersproject/abi").AbiCoder; export declare const revertMessages: { molochAlreadyInitialized: string; molochConstructorSharesCannotBe0: string; molochConstructorVotingPeriodCannotBe0: string; submitProposalExpired: string; submitProposalOffering: string; submitProposalVotingPeriod: string; submitProposalArrays: string; submitProposalArrayMax: string; submitProposalFlag: string; sponsorProposalExpired: string; sponsorProposalSponsor: string; sponsorProposalExists: string; sponsorProposalSponsored: string; submitVoteNotSponsored: string; submitVoteTimeEnded: string; submitVoteVoted: string; submitVoteMember: string; submitVoteWithSigTimeEnded: string; submitVoteWithSigVoted: string; submitVoteWithSigMember: string; proposalMisnumbered: string; unsetGuildTokensLastToken: string; sharesTransferPaused: string; sharesInsufficientBalance: string; lootAlreadyInitialized: string; molochSetupSharesNoShares: string; proposalNotSponsored: string; sponsorProposalNotSubmitted: string; submitVoteNotVoting: string; processProposalNotReady: string; ragequitUnordered: string; sharesInsufficientApproval: string; lootTransferPaused: string; lootInsufficientBalance: string; lootInsufficientApproval: string; mintSharesArrayParity: string; burnSharesArrayParity: string; burnSharesInsufficientShares: string; mintLootArrayParity: string; burnLootArrayParity: string; burnLootInsufficientShares: string; cancelProposalNotVoting: string; cancelProposalNotCancellable: string; baalOrAdmin: string; baalOrManager: string; baalOrGovernor: string; permitNotAuthorized: string; permitExpired: string; notEnoughGas: string; baalGasToHigh: string; OwnableCallerIsNotTheOwner: string; }; export declare type ProposalType = { flag: BigNumberish; account?: `0x${string}`; data: string; details: string; expiration: BigNumberish; baalGas: BigNumberish; }; export declare const PROPOSAL_STATES: { UNBORN: number; SUBMITTED: number; VOTING: number; CANCELLED: number; GRACE: number; READY: number; PROCESSED: number; DEEFEATED: number; }; export declare enum SHAMAN_PERMISSIONS { NONE = 0, ADMIN = 1, MANAGER = 2, ADMIN_MANAGER = 3, GOVERNANCE = 4, ADMIN_GOVERNANCE = 5, MANAGER_GOVERNANCE = 6, ALL = 7 } export declare const defaultDAOSettings: DAOSettings; export declare const defaultMetadataConfig: { CONTENT: string; TAG: string; }; export declare const defaultProposalSettings: { DETAILS: string; EXPIRATION: number; BAAL_GAS: number; }; export declare type SummonSetup = { loot: number; lootPaused: boolean; shamanPermissions: SHAMAN_PERMISSIONS; shares: number; sharesPaused: boolean; }; export declare const defaultSummonSetup: SummonSetup; export declare type NewBaalParams = { baalSummoner: Contract; baalSingleton: Baal; poster: Poster; config: DAOSettings; adminConfig: [boolean, boolean]; shamans: [string[], number[]]; shares: [string[], number[]]; loots: [string[], number[]]; safeAddress?: `0x${string}`; forwarderAddress?: `0x${string}`; lootAddress?: `0x${string}`; sharesAddress?: `0x${string}`; saltNonceOverride?: string; }; export declare type NewBaalAddresses = { baal: string; loot: string; shares: string; safe: string; }; export declare const getNewBaalAddresses: (tx: ContractTransaction) => Promise; export declare const getBaalParams: (baal: Baal, poster: Poster, config: DAOSettings, adminConfig: [boolean, boolean], shamans: [string[], number[]], shares: [string[], number[]], loots: [string[], number[]], safeAddress?: string, forwarderAddress?: string, lootAddress?: string, sharesAddress?: string) => Promise<{ initParams: string; initalizationActions: string[]; }>; export declare const setupBaal: ({ baalSummoner, baalSingleton, poster, config, adminConfig, shamans, shares, loots, safeAddress, forwarderAddress, lootAddress, sharesAddress, saltNonceOverride }: NewBaalParams) => Promise; export declare type ProposalParams = { baal: Baal; encodedAction: string; proposal: ProposalType; proposalId?: BigNumberish; daoSettings?: DAOSettings; extraSeconds?: number; }; export declare const submitAndProcessProposal: ({ baal, encodedAction, proposal, proposalId, daoSettings, extraSeconds, }: ProposalParams) => Promise; export declare const setShamanProposal: (baal: Baal, multisend: MultiSend, shamanAddress: string, permission: BigNumberish, daoSettings?: DAOSettings, extraSeconds?: number) => Promise; export declare const verifyProposal: (prop1: any, prop2: any, overrides?: any) => void;