import { providers } from 'ethers';
import { Position } from '@steerprotocol/uniswap-position-quoter';
import { Stats } from './stats';
import { Strategy } from './Strategy';
import { Config, TopHolder, TopHolderType } from './types';
export interface StrategyOutput {
    upperBound: string;
    lowerBound: string;
    bins: string[];
    startTick: string;
}
export declare type Rebalance = {
    timestamp: number;
    positions: Position[];
    currentTick: number;
    balt0: string;
    balt1: string;
    gasUsed: string;
};
export declare type PriceMovement = {
    timestamp: number;
    tick: number;
};
export declare class UniswapV3Backtest {
    run(config: Config, strategy: Strategy, stats: Stats, gasPrice: number): Promise<void>;
    getTopHolder(holders: Array<TopHolder>, tokenAddress: string, type: TopHolderType, provider: providers.JsonRpcProvider): TopHolder | undefined;
    private displayTargetEntityDetails;
}
