import { Signer } from "ethers";
import type { Provider } from "@ethersproject/providers";
import type { IArrakisV2Helper, IArrakisV2HelperInterface } from "../../../../../../../../contracts/artifacts/src/market-maker/src/interfaces/arrakis/IArrakisV2Helper";
export declare class IArrakisV2Helper__factory {
    static readonly abi: readonly [{
        readonly inputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "int24";
                readonly name: "lowerTick";
                readonly type: "int24";
            }, {
                readonly internalType: "int24";
                readonly name: "upperTick";
                readonly type: "int24";
            }, {
                readonly internalType: "uint24";
                readonly name: "feeTier";
                readonly type: "uint24";
            }];
            readonly internalType: "struct Range[]";
            readonly name: "ranges_";
            readonly type: "tuple[]";
        }, {
            readonly internalType: "address";
            readonly name: "token0_";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "token1_";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "vaultV2_";
            readonly type: "address";
        }];
        readonly name: "token0AndToken1ByRange";
        readonly outputs: readonly [{
            readonly components: readonly [{
                readonly components: readonly [{
                    readonly internalType: "int24";
                    readonly name: "lowerTick";
                    readonly type: "int24";
                }, {
                    readonly internalType: "int24";
                    readonly name: "upperTick";
                    readonly type: "int24";
                }, {
                    readonly internalType: "uint24";
                    readonly name: "feeTier";
                    readonly type: "uint24";
                }];
                readonly internalType: "struct Range";
                readonly name: "range";
                readonly type: "tuple";
            }, {
                readonly internalType: "uint256";
                readonly name: "amount";
                readonly type: "uint256";
            }];
            readonly internalType: "struct Amount[]";
            readonly name: "amount0s";
            readonly type: "tuple[]";
        }, {
            readonly components: readonly [{
                readonly components: readonly [{
                    readonly internalType: "int24";
                    readonly name: "lowerTick";
                    readonly type: "int24";
                }, {
                    readonly internalType: "int24";
                    readonly name: "upperTick";
                    readonly type: "int24";
                }, {
                    readonly internalType: "uint24";
                    readonly name: "feeTier";
                    readonly type: "uint24";
                }];
                readonly internalType: "struct Range";
                readonly name: "range";
                readonly type: "tuple";
            }, {
                readonly internalType: "uint256";
                readonly name: "amount";
                readonly type: "uint256";
            }];
            readonly internalType: "struct Amount[]";
            readonly name: "amount1s";
            readonly type: "tuple[]";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "int24";
                readonly name: "lowerTick";
                readonly type: "int24";
            }, {
                readonly internalType: "int24";
                readonly name: "upperTick";
                readonly type: "int24";
            }, {
                readonly internalType: "uint24";
                readonly name: "feeTier";
                readonly type: "uint24";
            }];
            readonly internalType: "struct Range[]";
            readonly name: "ranges_";
            readonly type: "tuple[]";
        }, {
            readonly internalType: "address";
            readonly name: "token0_";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "token1_";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "vaultV2_";
            readonly type: "address";
        }];
        readonly name: "token0AndToken1PlusFeesByRange";
        readonly outputs: readonly [{
            readonly components: readonly [{
                readonly components: readonly [{
                    readonly internalType: "int24";
                    readonly name: "lowerTick";
                    readonly type: "int24";
                }, {
                    readonly internalType: "int24";
                    readonly name: "upperTick";
                    readonly type: "int24";
                }, {
                    readonly internalType: "uint24";
                    readonly name: "feeTier";
                    readonly type: "uint24";
                }];
                readonly internalType: "struct Range";
                readonly name: "range";
                readonly type: "tuple";
            }, {
                readonly internalType: "uint256";
                readonly name: "amount";
                readonly type: "uint256";
            }];
            readonly internalType: "struct Amount[]";
            readonly name: "amount0s";
            readonly type: "tuple[]";
        }, {
            readonly components: readonly [{
                readonly components: readonly [{
                    readonly internalType: "int24";
                    readonly name: "lowerTick";
                    readonly type: "int24";
                }, {
                    readonly internalType: "int24";
                    readonly name: "upperTick";
                    readonly type: "int24";
                }, {
                    readonly internalType: "uint24";
                    readonly name: "feeTier";
                    readonly type: "uint24";
                }];
                readonly internalType: "struct Range";
                readonly name: "range";
                readonly type: "tuple";
            }, {
                readonly internalType: "uint256";
                readonly name: "amount";
                readonly type: "uint256";
            }];
            readonly internalType: "struct Amount[]";
            readonly name: "amount1s";
            readonly type: "tuple[]";
        }, {
            readonly components: readonly [{
                readonly components: readonly [{
                    readonly internalType: "int24";
                    readonly name: "lowerTick";
                    readonly type: "int24";
                }, {
                    readonly internalType: "int24";
                    readonly name: "upperTick";
                    readonly type: "int24";
                }, {
                    readonly internalType: "uint24";
                    readonly name: "feeTier";
                    readonly type: "uint24";
                }];
                readonly internalType: "struct Range";
                readonly name: "range";
                readonly type: "tuple";
            }, {
                readonly internalType: "uint256";
                readonly name: "amount";
                readonly type: "uint256";
            }];
            readonly internalType: "struct Amount[]";
            readonly name: "fee0s";
            readonly type: "tuple[]";
        }, {
            readonly components: readonly [{
                readonly components: readonly [{
                    readonly internalType: "int24";
                    readonly name: "lowerTick";
                    readonly type: "int24";
                }, {
                    readonly internalType: "int24";
                    readonly name: "upperTick";
                    readonly type: "int24";
                }, {
                    readonly internalType: "uint24";
                    readonly name: "feeTier";
                    readonly type: "uint24";
                }];
                readonly internalType: "struct Range";
                readonly name: "range";
                readonly type: "tuple";
            }, {
                readonly internalType: "uint256";
                readonly name: "amount";
                readonly type: "uint256";
            }];
            readonly internalType: "struct Amount[]";
            readonly name: "fee1s";
            readonly type: "tuple[]";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "contract IArrakisV2";
            readonly name: "vault_";
            readonly type: "address";
        }];
        readonly name: "totalLiquidity";
        readonly outputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "uint128";
                readonly name: "liquidity";
                readonly type: "uint128";
            }, {
                readonly components: readonly [{
                    readonly internalType: "int24";
                    readonly name: "lowerTick";
                    readonly type: "int24";
                }, {
                    readonly internalType: "int24";
                    readonly name: "upperTick";
                    readonly type: "int24";
                }, {
                    readonly internalType: "uint24";
                    readonly name: "feeTier";
                    readonly type: "uint24";
                }];
                readonly internalType: "struct Range";
                readonly name: "range";
                readonly type: "tuple";
            }];
            readonly internalType: "struct PositionLiquidity[]";
            readonly name: "liquidities";
            readonly type: "tuple[]";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "contract IArrakisV2";
            readonly name: "vault_";
            readonly type: "address";
        }];
        readonly name: "totalUnderlying";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "amount0";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "amount1";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "contract IArrakisV2";
            readonly name: "vault_";
            readonly type: "address";
        }];
        readonly name: "totalUnderlyingWithFees";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "amount0";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "amount1";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "fee0";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "fee1";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "contract IArrakisV2";
            readonly name: "vault_";
            readonly type: "address";
        }];
        readonly name: "totalUnderlyingWithFeesAndLeftOver";
        readonly outputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "uint256";
                readonly name: "amount0";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "amount1";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "fee0";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "fee1";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "leftOver0";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "leftOver1";
                readonly type: "uint256";
            }];
            readonly internalType: "struct UnderlyingOutput";
            readonly name: "underlying";
            readonly type: "tuple";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }];
    static createInterface(): IArrakisV2HelperInterface;
    static connect(address: string, signerOrProvider: Signer | Provider): IArrakisV2Helper;
}
