import { ContractsConfig } from "@repo/config/contracts";
import { B3TRGovernor } from "../../typechain-types";
import { HardhatEthersSigner } from "@nomicfoundation/hardhat-ethers/signers";
/**
 * 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>;
