import { Signer } from "ethers";
import type { Provider } from "@ethersproject/providers";
import type { IArrakisV2Resolver, IArrakisV2ResolverInterface } from "../../../../../../../../contracts/artifacts/src/market-maker/src/interfaces/arrakis/IArrakisV2Resolver";
export declare class IArrakisV2Resolver__factory {
    static readonly abi: readonly [{
        readonly inputs: readonly [{
            readonly internalType: "int24";
            readonly name: "currentTick_";
            readonly type: "int24";
        }, {
            readonly internalType: "int24";
            readonly name: "lowerTick_";
            readonly type: "int24";
        }, {
            readonly internalType: "int24";
            readonly name: "upperTick_";
            readonly type: "int24";
        }, {
            readonly internalType: "uint128";
            readonly name: "liquidity_";
            readonly type: "uint128";
        }];
        readonly name: "getAmountsForLiquidity";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "amount0";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "amount1";
            readonly type: "uint256";
        }];
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "contract IArrakisV2";
            readonly name: "vaultV2_";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "amount0Max_";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "amount1Max_";
            readonly type: "uint256";
        }];
        readonly name: "getMintAmounts";
        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: "mintAmount";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "addr_";
            readonly type: "address";
        }, {
            readonly internalType: "int24";
            readonly name: "lowerTick_";
            readonly type: "int24";
        }, {
            readonly internalType: "int24";
            readonly name: "upperTick_";
            readonly type: "int24";
        }];
        readonly name: "getPositionId";
        readonly outputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "positionId";
            readonly type: "bytes32";
        }];
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly inputs: 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: "weight";
                readonly type: "uint256";
            }];
            readonly internalType: "struct RangeWeight[]";
            readonly name: "rangeWeights_";
            readonly type: "tuple[]";
        }, {
            readonly internalType: "contract IArrakisV2";
            readonly name: "vaultV2_";
            readonly type: "address";
        }];
        readonly name: "standardRebalance";
        readonly outputs: readonly [{
            readonly components: 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: "burns";
                readonly type: "tuple[]";
            }, {
                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: "mints";
                readonly type: "tuple[]";
            }, {
                readonly components: readonly [{
                    readonly internalType: "bytes";
                    readonly name: "payload";
                    readonly type: "bytes";
                }, {
                    readonly internalType: "address";
                    readonly name: "router";
                    readonly type: "address";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "amountIn";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "expectedMinReturn";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "bool";
                    readonly name: "zeroForOne";
                    readonly type: "bool";
                }];
                readonly internalType: "struct SwapPayload";
                readonly name: "swap";
                readonly type: "tuple";
            }, {
                readonly internalType: "uint256";
                readonly name: "minBurn0";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "minBurn1";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "minDeposit0";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "minDeposit1";
                readonly type: "uint256";
            }];
            readonly internalType: "struct Rebalance";
            readonly name: "rebalanceParams";
            readonly type: "tuple";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }];
    static createInterface(): IArrakisV2ResolverInterface;
    static connect(address: string, signerOrProvider: Signer | Provider): IArrakisV2Resolver;
}
