import { B3TR, Emissions, VOT3, XAllocationVoting, TimeLock, B3TRGovernor, GalaxyMember, VoterRewards, XAllocationPool, Treasury, X2EarnRewardsPool, X2EarnApps, VeBetterPassport, X2EarnCreator, GrantsManager, RelayerRewardsPool, B3TRChallenges, DBAPool, StargateNFT, Stargate, NodeManagementV3, TokenAuction, NavigatorRegistry } from "../../typechain-types";
import { ContractsConfig } from "@repo/config/contracts/type";
import { HardhatEthersSigner } from "@nomicfoundation/hardhat-ethers/signers";
export declare function deployAll(config: ContractsConfig): Promise<{
    governor: B3TRGovernor;
    timelock: TimeLock;
    b3tr: B3TR;
    vot3: VOT3;
    galaxyMember: GalaxyMember;
    xAllocationPool: XAllocationPool;
    xAllocationVoting: XAllocationVoting;
    emissions: Emissions;
    voterRewards: VoterRewards;
    treasury: Treasury;
    x2EarnApps: X2EarnApps;
    x2EarnRewardsPool: X2EarnRewardsPool;
    vechainNodesMock: TokenAuction;
    vechainNodeManagement: NodeManagementV3;
    veBetterPassport: VeBetterPassport;
    b3trChallenges: B3TRChallenges;
    x2EarnCreator: X2EarnCreator;
    grantsManager: GrantsManager;
    relayerRewardsPool: RelayerRewardsPool;
    stargate: Stargate;
    stargateNFT: StargateNFT;
    dynamicBaseAllocationPool: DBAPool;
    navigatorRegistry: NavigatorRegistry;
    libraries: {
        governorClockLogic: import("../../typechain-types").GovernorClockLogic;
        governorConfigurator: import("../../typechain-types").GovernorConfigurator;
        governorDepositLogic: import("../../typechain-types").GovernorDepositLogic;
        governorFunctionRestrictionsLogic: import("../../typechain-types").GovernorFunctionRestrictionsLogic;
        governorProposalLogic: import("../../typechain-types").GovernorProposalLogic;
        governorQuorumLogic: import("../../typechain-types").GovernorQuorumLogic;
        governorStateLogic: import("../../typechain-types").GovernorStateLogic;
        governorVotesLogic: import("../../typechain-types").GovernorVotesLogic;
        passportChecksLogic: import("../../typechain-types").PassportChecksLogic;
        passportConfigurator: import("../../typechain-types").PassportConfigurator;
        passportEntityLogic: import("../../typechain-types").PassportEntityLogic;
        passportDelegationLogic: import("../../typechain-types").PassportDelegationLogic;
        passportPersonhoodLogic: import("../../typechain-types").PassportPersonhoodLogic;
        passportPoPScoreLogic: import("../../typechain-types").PassportPoPScoreLogic;
        passportSignalingLogic: import("../../typechain-types").PassportSignalingLogic;
        passportWhitelistAndBlacklistLogic: import("../../typechain-types").PassportWhitelistAndBlacklistLogic;
        autoVotingLogic: import("ethers").BaseContract & {
            deploymentTransaction(): import("ethers").ContractTransactionResponse;
        } & Omit<import("ethers").BaseContract, keyof import("ethers").BaseContract>;
        challengeCoreLogic: import("../../typechain-types").ChallengeCoreLogic;
        challengeSettlementLogic: import("../../typechain-types").ChallengeSettlementLogic;
    };
}>;
/**
 * Set the whitelisted functions from config
 * Performs the following steps for each contract:
 *    1. Get the function signatures from the contract factory
 *    2. Set the whitelisted functions in the governor contract
 *
 * @param contractAddresses - Addresses of the deployed contracts
 * @param config - Contracts configuration
 * @param governor - B3TRGovernor contract instance
 * @param admin - Admin signer
 *
 * @note - For ambiguous functions (functions with same name), the function signature is used to differentiate them
 * e.g., instead of using "setVoterRewards", we use "setVoterRewards(address)" in the config
 */
export declare const setWhitelistedFunctions: (contractAddresses: Record<string, string>, config: ContractsConfig, governor: B3TRGovernor, admin: HardhatEthersSigner, libraries: Record<string, Record<string, string>>, logOutput?: boolean) => Promise<void>;
