import { BytesLike, JsonRpcProvider, Wallet } from 'ethers'; export type Providerish = JsonRpcProvider; export type Signerish = Wallet; export type CreateOnChainParams = { chain: 'BSC'; rpcUrl: string; signerPrivateKey: string; args: BytesLike; signature: BytesLike; valueWei?: bigint; }; export declare function createTokenOnChain(params: CreateOnChainParams): Promise<{ receipt: any; tokenAddress: string | undefined; }>; export type TryBuyResult = { tokenManager: string; quote: string; estimatedAmount: bigint; estimatedCost: bigint; estimatedFee: bigint; amountMsgValue: bigint; amountApproval: bigint; amountFunds: bigint; }; export declare function tryBuy(chain: 'BSC' | 'BASE' | 'ARBITRUM_ONE', rpcUrl: string, token: string, amount: bigint, funds: bigint, proxyAddressOverride?: string): Promise; export type TrySellResult = { tokenManager: string; quote: string; funds: bigint; fee: bigint; }; export declare function trySell(chain: 'BSC' | 'BASE' | 'ARBITRUM_ONE', rpcUrl: string, token: string, amount: bigint, proxyAddressOverride?: string): Promise; export declare function buyTokenWithFunds(chain: 'BSC', rpcUrl: string, signerPrivateKey: string, token: string, funds: bigint, minAmount: bigint, to?: string, origin?: bigint): Promise; export declare function sellToken(chain: 'BSC', rpcUrl: string, signerPrivateKey: string, token: string, amount: bigint, minFunds: bigint, origin?: bigint): Promise; export declare function tradeBuy(chain: 'BSC' | 'BASE' | 'ARBITRUM_ONE', rpcUrl: string, token: string, params: { type: 'funds'; funds: bigint; minAmount: bigint; to?: string; origin?: bigint; } | { type: 'amount'; amount: bigint; maxFunds: bigint; to?: string; origin?: bigint; }): Promise; export declare function tradeSell(chain: 'BSC' | 'BASE' | 'ARBITRUM_ONE', rpcUrl: string, token: string, params: { type: 'direct'; amount: bigint; minFunds?: bigint; origin?: bigint; } | { type: 'router'; from: string; amount: bigint; minFunds: bigint; origin?: bigint; feeRate?: bigint; feeRecipient?: string; }): Promise;