import { expect } from "chai";
import { FakeContract } from "@defi-wonderland/smock";
import { FactoryOptions } from "hardhat/types";
import { ethers } from "hardhat";
import { BigNumber, Signer, Contract, ContractFactory, BaseContract } from "ethers";
export { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers";
import { SafeAccountConfig, PredictedSafeProps } from "@safe-global/protocol-kit";
export declare function getContractFactory(name: string, signerOrFactoryOptions: Signer | FactoryOptions): Promise<ContractFactory>;
export declare function findArtifactFromPath(contractName: string, artifactsPath: string): any;
export declare function getAllFilesInPath(dirPath: string, arrayOfFiles?: string[]): string[];
export declare const toWei: (num: string | number | BigNumber) => BigNumber;
export declare const toWeiWithDecimals: (num: string | number | BigNumber, decimals: number) => BigNumber;
export declare const toBNWei: (num: string | number | BigNumber) => BigNumber;
export declare const toBNWeiWithDecimals: (num: string | number | BigNumber, decimals: number) => BigNumber;
export declare const fromWei: (num: string | number | BigNumber) => string;
export declare const toBN: (num: string | number | BigNumber) => BigNumber;
export declare const utf8ToHex: (input: string) => string;
export declare const hexToUtf8: (input: string) => string;
export declare const createRandomBytes32: () => string;
export declare const hexZeroPad: (input: string, length: number) => string;
export declare const addressToBytes: (input: string) => string;
export declare const bytes32ToAddress: (input: string) => string;
export declare const isBytes32: (input: string) => boolean;
export declare function seedWallet(walletToFund: Signer, tokens: Contract[], weth: Contract | undefined, amountToSeedWith: number | BigNumber): Promise<void>;
export declare function seedContract(contract: Contract, walletToFund: Signer, tokens: Contract[], weth: Contract | undefined, amountToSeedWith: number | BigNumber): Promise<void>;
export declare function randomBigNumber(bytes?: number, signed?: boolean): BigNumber;
export declare function randomAddress(): string;
export declare function randomBytes32(): string;
export declare function getParamType(contractName: string, functionName: string, paramName: string): Promise<"" | import("ethers/lib/utils").ParamType>;
export declare function createFake(contractName: string, targetAddress?: string): Promise<FakeContract<BaseContract>>;
export declare function createFakeFromABI(abi: any[], targetAddress?: string): Promise<FakeContract<BaseContract>>;
export declare function createTypedFakeFromABI<T extends BaseContract>(abi: any[], targetAddress?: string): Promise<FakeContract<T>>;
declare function avmL1ToL2Alias(l1Address: string): string;
export declare function trimSolanaAddress(bytes32Address: string): string;
export declare function hashNonEmptyMessage(message: string): string;
declare const defaultAbiCoder: import("ethers/lib/utils").AbiCoder, keccak256: typeof import("@ethersproject/keccak256").keccak256;
export { avmL1ToL2Alias, expect, Contract, ethers, BigNumber, defaultAbiCoder, keccak256, FakeContract, Signer };
export declare function getOftEid(chainId: number): number;
export declare const safeAccountConfig: SafeAccountConfig;
export declare const predictedSafe: PredictedSafeProps;
