import { Signer, ContractFactory, Overrides } from "ethers";
import type { Provider, TransactionRequest } from "@ethersproject/providers";
import type { PromiseOrValue } from "../../../../../common";
import type { StableSwap, StableSwapInterface } from "../../../../../contracts/core/connext/helpers/StableSwap";
type StableSwapConstructorParams = [linkLibraryAddresses: StableSwapLibraryAddresses, signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
export declare class StableSwap__factory extends ContractFactory {
    constructor(...args: StableSwapConstructorParams);
    static linkBytecode(linkLibraryAddresses: StableSwapLibraryAddresses): string;
    deploy(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<StableSwap>;
    getDeployTransaction(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): TransactionRequest;
    attach(address: string): StableSwap;
    connect(signer: Signer): StableSwap__factory;
    static readonly bytecode = "0x608060405234801561001057600080fd5b50612ce5806100206000396000f3fe6080604052600436106101f95760003560e01c80638456cb591161010d578063c4db7fa0116100a0578063e6ab28061161006f578063e6ab2806146105d1578063ef0a712f146105f1578063f2fad2b614610611578063f2fde38b14610631578063f9a15fb91461065157600080fd5b8063c4db7fa01461057f578063d460f0a214610594578063d46300fd146105a7578063e25aa5fa146105bc57600080fd5b806391695586116100dc57806391695586146104ff57806391ceb3eb1461051f578063a95b089f1461053f578063b28cb6dc1461055f57600080fd5b80638456cb591461048c57806384cdd9bc146104a15780638beb60b6146104c15780638da5cb5b146104e157600080fd5b80635428c1171161019057806366c0bd241161015f57806366c0bd24146103cd5780636b1dc08b146103ff578063715018a61461041f5780637f41e7ef1461043457806382b866001461045457600080fd5b80635428c117146102ff578063593d132c146103125780635c975abb146103325780635fd65f0f1461035557600080fd5b806334e19907116101cc57806334e199071461028a5780633e3a1560146102aa5780633f4ba83a146102ca5780634d49e87d146102df57600080fd5b80630419b45a146101fe5780630ba819591461021557806331cd52b01461023d578063342a87a11461026a575b600080fd5b34801561020a57600080fd5b50610213610671565b005b34801561022157600080fd5b5061022a610718565b6040519081526020015b60405180910390f35b34801561024957600080fd5b5061025d610258366004612170565b610795565b60405161023491906121c3565b34801561027657600080fd5b5061022a610285366004612218565b610869565b34801561029657600080fd5b506102136102a5366004612244565b6108f9565b3480156102b657600080fd5b5061022a6102c536600461225d565b61096f565b3480156102d657600080fd5b50610213610a2e565b3480156102eb57600080fd5b5061022a6102fa366004612298565b610a3e565b61022a61030d366004612309565b610aaf565b34801561031e57600080fd5b5061021361032d36600461235b565b610ba9565b34801561033e57600080fd5b5060655460ff166040519015158152602001610234565b34801561036157600080fd5b5060fb5460fc5460fd5460fe5460ff54610100546101015461038f969594939291906001600160a01b031687565b604080519788526020880196909652948601939093526060850191909152608084015260a08301526001600160a01b031660c082015260e001610234565b3480156103d957600080fd5b506103ed6103e836600461237d565b610c26565b60405160ff9091168152602001610234565b34801561040b57600080fd5b5061022a61041a36600461239a565b610c9e565b34801561042b57600080fd5b50610213610d38565b34801561044057600080fd5b5061022a61044f3660046123d6565b610d4a565b34801561046057600080fd5b5061047461046f366004612417565b610dfd565b6040516001600160a01b039091168152602001610234565b34801561049857600080fd5b50610213610e77565b3480156104ad57600080fd5b5061022a6104bc366004612298565b610e87565b3480156104cd57600080fd5b506102136104dc366004612244565b610ef8565b3480156104ed57600080fd5b506033546001600160a01b0316610474565b34801561050b57600080fd5b5061022a61051a366004612432565b610f3f565b34801561052b57600080fd5b5061022a61053a366004612417565b611012565b34801561054b57600080fd5b5061022a61055a36600461239a565b611089565b34801561056b57600080fd5b5061021361057a366004612630565b6110dc565b34801561058b57600080fd5b506102136118de565b61022a6105a2366004612309565b61194b565b3480156105b357600080fd5b5061022a6119f0565b3480156105c857600080fd5b5061022a611a2b565b3480156105dd57600080fd5b5061022a6105ec366004612719565b611a66565b3480156105fd57600080fd5b5061022a61060c366004612244565b611aa7565b34801561061d57600080fd5b5061025d61062c366004612244565b611b25565b34801561063d57600080fd5b5061021361064c36600461237d565b611ba7565b34801561065d57600080fd5b5061022a61066c3660046123d6565b611c20565b610679611c8c565b610681611ce5565b73__$0399e8fdab399fb8f200f3895472e3787c$__639cbd240660fb6106af6033546001600160a01b031690565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b0316602482015260440160006040518083038186803b1580156106f457600080fd5b505af4158015610708573d6000803e3d6000fd5b50505050610716600160c955565b565b60405163f43dee5360e01b815260fb600482015260009073__$0399e8fdab399fb8f200f3895472e3787c$__9063f43dee53906024015b602060405180830381865af415801561076c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107909190612770565b905090565b606061079f611c8c565b6107a7611d46565b81804211156107d15760405162461bcd60e51b81526004016107c890612789565b60405180910390fd5b604051631beec94360e21b815273__$0399e8fdab399fb8f200f3895472e3787c$__90636fbb250c9061080f9060fb908a908a908a906004016127e5565b600060405180830381865af415801561082c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108549190810190612805565b915050610861600160c955565b949350505050565b6040516384eeef2760e01b815260fb60048201526024810183905260ff8216604482015260009073__$0399e8fdab399fb8f200f3895472e3787c$__906384eeef2790606401602060405180830381865af41580156108cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f09190612770565b90505b92915050565b610901611ce5565b604051632cecccb560e11b815260fb60048201526024810182905273__$0399e8fdab399fb8f200f3895472e3787c$__906359d9996a906044015b60006040518083038186803b15801561095457600080fd5b505af4158015610968573d6000803e3d6000fd5b5050505050565b6000610979611c8c565b610981611d46565b81804211156109a25760405162461bcd60e51b81526004016107c890612789565b604051632b8ffbb760e21b815260fb60048201526024810187905260ff861660448201526064810185905273__$0399e8fdab399fb8f200f3895472e3787c$__9063ae3feedc906084015b602060405180830381865af4158015610a0a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108549190612770565b610a36611ce5565b610716611d8c565b6000610a48611c8c565b610a50611d46565b8180421115610a715760405162461bcd60e51b81526004016107c890612789565b6040516333a43f9560e11b815273__$0399e8fdab399fb8f200f3895472e3787c$__906367487f2a906109ed9060fb908a908a908a90600401612896565b6000610ab9611c8c565b610ac1611d46565b8180421115610ae25760405162461bcd60e51b81526004016107c890612789565b6000610aed87610c26565b90506000610afa87610c26565b60405163703c02d560e11b815260fb600482015260ff808516602483015282166044820152606481018b90526084810188905290915073__$0399e8fdab399fb8f200f3895472e3787c$__9063e07805aa9060a4015b602060405180830381865af4158015610b6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b919190612770565b9350505050610ba0600160c955565b95945050505050565b610bb1611ce5565b604051633f1e106160e21b815260fb6004820152602481018390526044810182905273__$0399e8fdab399fb8f200f3895472e3787c$__9063fc7841849060640160006040518083038186803b158015610c0a57600080fd5b505af4158015610c1e573d6000803e3d6000fd5b505050505050565b6001600160a01b03811660008181526101066020526040812054909160ff90911690610c5182610dfd565b6001600160a01b0316146108f35760405162461bcd60e51b8152602060048201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b60448201526064016107c8565b604051632e4be8d760e21b815260fb600482015260ff8085166024830152831660448201526064810182905260009073__$0399e8fdab399fb8f200f3895472e3787c$__9063b92fa35c906084015b602060405180830381865af4158015610d0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2e9190612770565b90505b9392505050565b610d40611ce5565b6107166000611dde565b600080610d5685610c26565b90506000610d6385610c26565b604051632f4998ad60e01b815260fb600482015260ff8085166024830152821660448201526064810186905290915073__$0399e8fdab399fb8f200f3895472e3787c$__90632f4998ad906084015b602060405180830381865af4158015610dcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df39190612770565b9695505050505050565b6101025460009060ff831610610e445760405162461bcd60e51b815260206004820152600c60248201526b4f7574206f662072616e676560a01b60448201526064016107c8565b610102805460ff8416908110610e5c57610e5c6128c1565b6000918252602090912001546001600160a01b031692915050565b610e7f611ce5565b610716611e30565b6000610e91611c8c565b610e99611d46565b8180421115610eba5760405162461bcd60e51b81526004016107c890612789565b60405163077b83d360e41b815273__$0399e8fdab399fb8f200f3895472e3787c$__906377b83d30906109ed9060fb908a908a908a90600401612896565b610f00611ce5565b6040516308bbaa2360e01b815260fb60048201526024810182905273__$0399e8fdab399fb8f200f3895472e3787c$__906308bbaa239060440161093c565b6000610f49611c8c565b610f51611d46565b8180421115610f725760405162461bcd60e51b81526004016107c890612789565b60405163f204293960e01b815260fb600482015260ff808916602483015287166044820152606481018690526084810185905273__$0399e8fdab399fb8f200f3895472e3787c$__9063f20429399060a401602060405180830381865af4158015610fe1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110059190612770565b915050610ba0600160c955565b6101025460009060ff83161061105f5760405162461bcd60e51b8152602060048201526012602482015271496e646578206f7574206f662072616e676560701b60448201526064016107c8565b610104805460ff8416908110611077576110776128c1565b90600052602060002001549050919050565b604051632f4998ad60e01b815260fb600482015260ff8085166024830152831660448201526064810182905260009073__$0399e8fdab399fb8f200f3895472e3787c$ $0399e8fdab399fb8f200f3895472e3787c$__9063e5b994c59060240160006040518083038186803b15801561193157600080fd5b505af4158015611945573d6000803e3d6000fd5b50505050565b6000611955611c8c565b61195d611d46565b818042111561197e5760405162461bcd60e51b81526004016107c890612789565b600061198987610c26565b9050600061199687610c26565b60405163f204293960e01b815260fb600482015260ff808516602483015282166044820152606481018b90526084810188905290915073__$0399e8fdab399fb8f200f3895472e3787c$__9063f20429399060a401610b50565b604051631158dafb60e11b815260fb600482015260009073__$0399e8fdab399fb8f200f3895472e3787c$__906322b1b5f69060240161074f565b604051638be1e52360e01b815260fb600482015260009073__$0399e8fdab399fb8f200f3895472e3787c$__90638be1e5239060240161074f565b6040516322b2b60760e01b815260009073__$0399e8fdab399fb8f200f3895472e3787c$__906322b2b60790610ced9060fb90889088908890600401612c37565b604051631ce9046f60e01b815260fb60048201526024810182905260009073__$0399e8fdab399fb8f200f3895472e3787c$__90631ce9046f90604401602060405180830381865af4158015611b01573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f39190612770565b604051638cc122bb60e01b815260fb60048201526024810182905260609073__$0399e8fdab399fb8f200f3895472e3787c$__90638cc122bb90604401600060405180830381865af4158015611b7f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108f39190810190612805565b611baf611ce5565b6001600160a01b038116611c145760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107c8565b611c1d81611dde565b50565b600080611c2c85610c26565b90506000611c3985610c26565b604051632e4be8d760e21b815260fb600482015260ff8085166024830152821660448201526064810186905290915073__$0399e8fdab399fb8f200f3895472e3787c$ ";
    static readonly abi: readonly [{
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "provider";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256[]";
            readonly name: "tokenAmounts";
            readonly type: "uint256[]";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256[]";
            readonly name: "fees";
            readonly type: "uint256[]";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "invariant";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "lpTokenSupply";
            readonly type: "uint256";
        }];
        readonly name: "AddLiquidity";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint8";
            readonly name: "version";
            readonly type: "uint8";
        }];
        readonly name: "Initialized";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "newAdminFee";
            readonly type: "uint256";
        }];
        readonly name: "NewAdminFee";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "newSwapFee";
            readonly type: "uint256";
        }];
        readonly name: "NewSwapFee";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "newWithdrawFee";
            readonly type: "uint256";
        }];
        readonly name: "NewWithdrawFee";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "previousOwner";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "newOwner";
            readonly type: "address";
        }];
        readonly name: "OwnershipTransferred";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "account";
            readonly type: "address";
        }];
        readonly name: "Paused";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "oldA";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "newA";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "initialTime";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "futureTime";
            readonly type: "uint256";
        }];
        readonly name: "RampA";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "provider";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256[]";
            readonly name: "tokenAmounts";
            readonly type: "uint256[]";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "lpTokenSupply";
            readonly type: "uint256";
        }];
        readonly name: "RemoveLiquidity";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "provider";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256[]";
            readonly name: "tokenAmounts";
            readonly type: "uint256[]";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256[]";
            readonly name: "fees";
            readonly type: "uint256[]";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "invariant";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "lpTokenSupply";
            readonly type: "uint256";
        }];
        readonly name: "RemoveLiquidityImbalance";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "provider";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "lpTokenAmount";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "lpTokenSupply";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "boughtId";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "tokensBought";
            readonly type: "uint256";
        }];
        readonly name: "RemoveLiquidityOne";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "currentA";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "time";
            readonly type: "uint256";
        }];
        readonly name: "StopRampA";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "uint256";
                readonly name: "initialA";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "futureA";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "initialATime";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "futureATime";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "swapFee";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "adminFee";
                readonly type: "uint256";
            }, {
                readonly internalType: "contract LPToken";
                readonly name: "lpToken";
                readonly type: "address";
            }, {
                readonly internalType: "contract IERC20[]";
                readonly name: "pooledTokens";
                readonly type: "address[]";
            }, {
                readonly internalType: "uint256[]";
                readonly name: "tokenPrecisionMultipliers";
                readonly type: "uint256[]";
            }, {
                readonly internalType: "uint256[]";
                readonly name: "balances";
                readonly type: "uint256[]";
            }, {
                readonly internalType: "uint256[]";
                readonly name: "adminFees";
                readonly type: "uint256[]";
            }];
            readonly indexed: false;
            readonly internalType: "struct SwapUtilsExternal.Swap";
            readonly name: "swap";
            readonly type: "tuple";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "caller";
            readonly type: "address";
        }];
        readonly name: "SwapInitialized";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "buyer";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "tokensSold";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "tokensBought";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint128";
            readonly name: "soldId";
            readonly type: "uint128";
        }, {
            readonly indexed: false;
            readonly internalType: "uint128";
            readonly name: "boughtId";
            readonly type: "uint128";
        }];
        readonly name: "TokenSwap";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "account";
            readonly type: "address";
        }];
        readonly name: "Unpaused";
        readonly type: "event";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256[]";
            readonly name: "amounts";
            readonly type: "uint256[]";
        }, {
            readonly internalType: "uint256";
            readonly name: "minToMint";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "deadline";
            readonly type: "uint256";
        }];
        readonly name: "addLiquidity";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }];
        readonly name: "calculateRemoveLiquidity";
        readonly outputs: readonly [{
            readonly internalType: "uint256[]";
            readonly name: "";
            readonly type: "uint256[]";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "tokenAmount";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint8";
            readonly name: "tokenIndex";
            readonly type: "uint8";
        }];
        readonly name: "calculateRemoveLiquidityOneToken";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "availableTokenAmount";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "tokenIndexFrom";
            readonly type: "uint8";
        }, {
            readonly internalType: "uint8";
            readonly name: "tokenIndexTo";
            readonly type: "uint8";
        }, {
            readonly internalType: "uint256";
            readonly name: "dx";
            readonly type: "uint256";
        }];
        readonly name: "calculateSwap";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "assetIn";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "assetOut";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "amountIn";
            readonly type: "uint256";
        }];
        readonly name: "calculateSwapFromAddress";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "tokenIndexFrom";
            readonly type: "uint8";
        }, {
            readonly internalType: "uint8";
            readonly name: "tokenIndexTo";
            readonly type: "uint8";
        }, {
            readonly internalType: "uint256";
            readonly name: "dy";
            readonly type: "uint256";
        }];
        readonly name: "calculateSwapOut";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "assetIn";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "assetOut";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "amountOut";
            readonly type: "uint256";
        }];
        readonly name: "calculateSwapOutFromAddress";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256[]";
            readonly name: "amounts";
            readonly type: "uint256[]";
        }, {
            readonly internalType: "bool";
            readonly name: "deposit";
            readonly type: "bool";
        }];
        readonly name: "calculateTokenAmount";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getA";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getAPrecise";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "index";
            readonly type: "uint256";
        }];
        readonly name: "getAdminBalance";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "index";
            readonly type: "uint8";
        }];
        readonly name: "getToken";
        readonly outputs: readonly [{
            readonly internalType: "contract IERC20";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "index";
            readonly type: "uint8";
        }];
        readonly name: "getTokenBalance";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "tokenAddress";
            readonly type: "address";
        }];
        readonly name: "getTokenIndex";
        readonly outputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "";
            readonly type: "uint8";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getVirtualPrice";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "contract IERC20[]";
            readonly name: "_pooledTokens";
            readonly type: "address[]";
        }, {
            readonly internalType: "uint8[]";
            readonly name: "decimals";
            readonly type: "uint8[]";
        }, {
            readonly internalType: "string";
            readonly name: "lpTokenName";
            readonly type: "string";
        }, {
            readonly internalType: "string";
            readonly name: "lpTokenSymbol";
            readonly type: "string";
        }, {
            readonly internalType: "uint256";
            readonly name: "_a";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "_fee";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "_adminFee";
            readonly type: "uint256";
        }, {
            readonly internalType: "address";
            readonly name: "lpTokenTargetAddress";
            readonly type: "address";
        }];
        readonly name: "initialize";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "owner";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "pause";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "paused";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "futureA";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "futureTime";
            readonly type: "uint256";
        }];
        readonly name: "rampA";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256[]";
            readonly name: "minAmounts";
            readonly type: "uint256[]";
        }, {
            readonly internalType: "uint256";
            readonly name: "deadline";
            readonly type: "uint256";
        }];
        readonly name: "removeLiquidity";
        readonly outputs: readonly [{
            readonly internalType: "uint256[]";
            readonly name: "";
            readonly type: "uint256[]";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256[]";
            readonly name: "amounts";
            readonly type: "uint256[]";
        }, {
            readonly internalType: "uint256";
            readonly name: "maxBurnAmount";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "deadline";
            readonly type: "uint256";
        }];
        readonly name: "removeLiquidityImbalance";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "tokenAmount";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint8";
            readonly name: "tokenIndex";
            readonly type: "uint8";
        }, {
            readonly internalType: "uint256";
            readonly name: "minAmount";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "deadline";
            readonly type: "uint256";
        }];
        readonly name: "removeLiquidityOneToken";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "renounceOwnership";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "newAdminFee";
            readonly type: "uint256";
        }];
        readonly name: "setAdminFee";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "newSwapFee";
            readonly type: "uint256";
        }];
        readonly name: "setSwapFee";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "stopRampA";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "tokenIndexFrom";
            readonly type: "uint8";
        }, {
            readonly internalType: "uint8";
            readonly name: "tokenIndexTo";
            readonly type: "uint8";
        }, {
            readonly internalType: "uint256";
            readonly name: "dx";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "minDy";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "deadline";
            readonly type: "uint256";
        }];
        readonly name: "swap";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "amountIn";
            readonly type: "uint256";
        }, {
            readonly internalType: "address";
            readonly name: "assetIn";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "assetOut";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "minAmountOut";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "deadline";
            readonly type: "uint256";
        }];
        readonly name: "swapExact";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "payable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "amountOut";
            readonly type: "uint256";
        }, {
            readonly internalType: "address";
            readonly name: "assetIn";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "assetOut";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "maxAmountIn";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "deadline";
            readonly type: "uint256";
        }];
        readonly name: "swapExactOut";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "payable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "swapStorage";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "initialA";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "futureA";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "initialATime";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "futureATime";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "swapFee";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "adminFee";
            readonly type: "uint256";
        }, {
            readonly internalType: "contract LPToken";
            readonly name: "lpToken";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "newOwner";
            readonly type: "address";
        }];
        readonly name: "transferOwnership";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "unpause";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "withdrawAdminFees";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }];
    static createInterface(): StableSwapInterface;
    static connect(address: string, signerOrProvider: Signer | Provider): StableSwap;
}
export interface StableSwapLibraryAddresses {
    ["contracts/core/connext/libraries/SwapUtilsExternal.sol:SwapUtilsExternal"]: string;
}
export {};
//# sourceMappingURL=StableSwap__factory.d.ts.map