import { UniV3Range } from '../uniV3Range';
import { VaultProvider, VaultProviderParams } from './vaultProvider';
import { IArrakisV2 } from '../../../typechain';
import { PositionLiquidityStruct, RebalanceStruct } from '../../../typechain/contracts/artifacts/src/market-maker/src/interfaces/arrakis/IArrakisV2';
export declare class ArrakisVaultProvider extends VaultProvider<IArrakisV2, 'rebalance'> {
    private poolContract;
    feeTier: number;
    private constructor();
    static create(params: VaultProviderParams & {
        vaultContract: IArrakisV2;
    }): Promise<ArrakisVaultProvider>;
    init({ baseToken, price }: VaultProviderParams): Promise<void>;
    updateRanges(): Promise<void>;
    getBalances(): Promise<{
        totals: [number, number];
        allocated: [number, number];
    }>;
    getRebalanceParams(burnRanges: UniV3Range[]): Promise<[RebalanceStruct]>;
    getPrice(twapInterval: number): Promise<number>;
    static getRebalanceParams(ranges: UniV3Range[], feeTier: number, reverse: boolean, decimals: [number, number]): {
        lpParams: PositionLiquidityStruct[];
        min0: import("ethers").BigNumber;
        min1: import("ethers").BigNumber;
    };
}
