import Web3 from "web3"; import { Address, BigNumberString, Pair, Snapshot } from "../pair"; import BigNumber from "bignumber.js"; interface PairStakedCeloSnapshot extends Snapshot { stCeloSupply: BigNumberString; celoBalance: BigNumberString; } declare abstract class PairStakedCelo extends Pair { private web3; private stakedCeloAddress; private accountAddress; allowRepeats: boolean; private stCeloContract; private accountContract; private stCeloSupply; private celoBalance; constructor(web3: Web3, swappaPairAddress: Address, stakedCeloAddress: Address, accountAddress: Address); protected _fetchSupplies(): Promise; refresh(): Promise; protected toStakedCelo(celoAmount: bigint): bigint; protected toCelo(stCeloAmount: bigint): bigint; snapshot(): PairStakedCeloSnapshot; restore({ stCeloSupply, celoBalance }: PairStakedCeloSnapshot): void; } export declare class PairStCelo extends PairStakedCelo { private managerAddress; private celoAddr; private stCeloAddr; constructor(chainId: number, web3: Web3, accountAddress: Address, managerAddress: Address, celoAddr: Address, stCeloAddr: Address); protected _init(): Promise<{ pairKey: string; tokenA: string; tokenB: string; }>; outputAmount(inputToken: string, inputAmount: BigNumber): BigNumber; private _outputAmount; protected swapExtraData(): string; } export declare class PairRebasedStCelo extends PairStakedCelo { private rstCeloAddr; private stCeloAddr; constructor(chainId: number, web3: Web3, accountAddress: Address, rstCeloAddr: Address, stCeloAddr: Address); protected _init(): Promise<{ pairKey: string; tokenA: string; tokenB: string; }>; outputAmount(inputToken: string, inputAmount: BigNumber): BigNumber; private _outputAmount; protected swapExtraData(inputToken: string): string; } export {};