import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from 'ethers';
import type { FunctionFragment, Result, EventFragment } from '@ethersproject/abi';
import type { Listener, Provider } from '@ethersproject/providers';
import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from './common';
export interface PancakeswapStablePoolInterface extends utils.Interface {
    functions: {
        'A()': FunctionFragment;
        'ADMIN_ACTIONS_DELAY()': FunctionFragment;
        'FEE_DENOMINATOR()': FunctionFragment;
        'KILL_DEADLINE_DT()': FunctionFragment;
        'MAX_A()': FunctionFragment;
        'MAX_ADMIN_FEE()': FunctionFragment;
        'MAX_A_CHANGE()': FunctionFragment;
        'MAX_DECIMAL()': FunctionFragment;
        'MAX_FEE()': FunctionFragment;
        'MIN_RAMP_TIME()': FunctionFragment;
        'N_COINS()': FunctionFragment;
        'PRECISION()': FunctionFragment;
        'PRECISION_MUL(uint256)': FunctionFragment;
        'RATES(uint256)': FunctionFragment;
        'STABLESWAP_FACTORY()': FunctionFragment;
        'add_liquidity(uint256[2],uint256)': FunctionFragment;
        'admin_actions_deadline()': FunctionFragment;
        'admin_balances(uint256)': FunctionFragment;
        'admin_fee()': FunctionFragment;
        'apply_new_fee()': FunctionFragment;
        'balances(uint256)': FunctionFragment;
        'calc_token_amount(uint256[2],bool)': FunctionFragment;
        'calc_withdraw_one_coin(uint256,uint256)': FunctionFragment;
        'coins(uint256)': FunctionFragment;
        'commit_new_fee(uint256,uint256)': FunctionFragment;
        'donate_admin_fees()': FunctionFragment;
        'exchange(uint256,uint256,uint256,uint256)': FunctionFragment;
        'fee()': FunctionFragment;
        'future_A()': FunctionFragment;
        'future_A_time()': FunctionFragment;
        'future_admin_fee()': FunctionFragment;
        'future_fee()': FunctionFragment;
        'get_dy(uint256,uint256,uint256)': FunctionFragment;
        'get_dy_underlying(uint256,uint256,uint256)': FunctionFragment;
        'get_virtual_price()': FunctionFragment;
        'initial_A()': FunctionFragment;
        'initial_A_time()': FunctionFragment;
        'initialize(address[2],uint256,uint256,uint256,address)': FunctionFragment;
        'isInitialized()': FunctionFragment;
        'is_killed()': FunctionFragment;
        'kill_deadline()': FunctionFragment;
        'kill_me()': FunctionFragment;
        'owner()': FunctionFragment;
        'ramp_A(uint256,uint256)': FunctionFragment;
        'remove_liquidity(uint256,uint256[2])': FunctionFragment;
        'remove_liquidity_imbalance(uint256[2],uint256)': FunctionFragment;
        'remove_liquidity_one_coin(uint256,uint256,uint256)': FunctionFragment;
        'renounceOwnership()': FunctionFragment;
        'revert_new_parameters()': FunctionFragment;
        'stop_rampget_A()': FunctionFragment;
        'token()': FunctionFragment;
        'transferOwnership(address)': FunctionFragment;
        'unkill_me()': FunctionFragment;
        'withdraw_admin_fees()': FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: 'A' | 'ADMIN_ACTIONS_DELAY' | 'FEE_DENOMINATOR' | 'KILL_DEADLINE_DT' | 'MAX_A' | 'MAX_ADMIN_FEE' | 'MAX_A_CHANGE' | 'MAX_DECIMAL' | 'MAX_FEE' | 'MIN_RAMP_TIME' | 'N_COINS' | 'PRECISION' | 'PRECISION_MUL' | 'RATES' | 'STABLESWAP_FACTORY' | 'add_liquidity' | 'admin_actions_deadline' | 'admin_balances' | 'admin_fee' | 'apply_new_fee' | 'balances' | 'calc_token_amount' | 'calc_withdraw_one_coin' | 'coins' | 'commit_new_fee' | 'donate_admin_fees' | 'exchange' | 'fee' | 'future_A' | 'future_A_time' | 'future_admin_fee' | 'future_fee' | 'get_dy' | 'get_dy_underlying' | 'get_virtual_price' | 'initial_A' | 'initial_A_time' | 'initialize' | 'isInitialized' | 'is_killed' | 'kill_deadline' | 'kill_me' | 'owner' | 'ramp_A' | 'remove_liquidity' | 'remove_liquidity_imbalance' | 'remove_liquidity_one_coin' | 'renounceOwnership' | 'revert_new_parameters' | 'stop_rampget_A' | 'token' | 'transferOwnership' | 'unkill_me' | 'withdraw_admin_fees'): FunctionFragment;
    encodeFunctionData(functionFragment: 'A', values?: undefined): string;
    encodeFunctionData(functionFragment: 'ADMIN_ACTIONS_DELAY', values?: undefined): string;
    encodeFunctionData(functionFragment: 'FEE_DENOMINATOR', values?: undefined): string;
    encodeFunctionData(functionFragment: 'KILL_DEADLINE_DT', values?: undefined): string;
    encodeFunctionData(functionFragment: 'MAX_A', values?: undefined): string;
    encodeFunctionData(functionFragment: 'MAX_ADMIN_FEE', values?: undefined): string;
    encodeFunctionData(functionFragment: 'MAX_A_CHANGE', values?: undefined): string;
    encodeFunctionData(functionFragment: 'MAX_DECIMAL', values?: undefined): string;
    encodeFunctionData(functionFragment: 'MAX_FEE', values?: undefined): string;
    encodeFunctionData(functionFragment: 'MIN_RAMP_TIME', values?: undefined): string;
    encodeFunctionData(functionFragment: 'N_COINS', values?: undefined): string;
    encodeFunctionData(functionFragment: 'PRECISION', values?: undefined): string;
    encodeFunctionData(functionFragment: 'PRECISION_MUL', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'RATES', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'STABLESWAP_FACTORY', values?: undefined): string;
    encodeFunctionData(functionFragment: 'add_liquidity', values: [[PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'admin_actions_deadline', values?: undefined): string;
    encodeFunctionData(functionFragment: 'admin_balances', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'admin_fee', values?: undefined): string;
    encodeFunctionData(functionFragment: 'apply_new_fee', values?: undefined): string;
    encodeFunctionData(functionFragment: 'balances', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'calc_token_amount', values: [[PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], PromiseOrValue<boolean>]): string;
    encodeFunctionData(functionFragment: 'calc_withdraw_one_coin', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'coins', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'commit_new_fee', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'donate_admin_fees', values?: undefined): string;
    encodeFunctionData(functionFragment: 'exchange', values: [
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>
    ]): string;
    encodeFunctionData(functionFragment: 'fee', values?: undefined): string;
    encodeFunctionData(functionFragment: 'future_A', values?: undefined): string;
    encodeFunctionData(functionFragment: 'future_A_time', values?: undefined): string;
    encodeFunctionData(functionFragment: 'future_admin_fee', values?: undefined): string;
    encodeFunctionData(functionFragment: 'future_fee', values?: undefined): string;
    encodeFunctionData(functionFragment: 'get_dy', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'get_dy_underlying', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'get_virtual_price', values?: undefined): string;
    encodeFunctionData(functionFragment: 'initial_A', values?: undefined): string;
    encodeFunctionData(functionFragment: 'initial_A_time', values?: undefined): string;
    encodeFunctionData(functionFragment: 'initialize', values: [
        [
            PromiseOrValue<string>,
            PromiseOrValue<string>
        ],
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<string>
    ]): string;
    encodeFunctionData(functionFragment: 'isInitialized', values?: undefined): string;
    encodeFunctionData(functionFragment: 'is_killed', values?: undefined): string;
    encodeFunctionData(functionFragment: 'kill_deadline', values?: undefined): string;
    encodeFunctionData(functionFragment: 'kill_me', values?: undefined): string;
    encodeFunctionData(functionFragment: 'owner', values?: undefined): string;
    encodeFunctionData(functionFragment: 'ramp_A', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'remove_liquidity', values: [PromiseOrValue<BigNumberish>, [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]]): string;
    encodeFunctionData(functionFragment: 'remove_liquidity_imbalance', values: [[PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'remove_liquidity_one_coin', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'renounceOwnership', values?: undefined): string;
    encodeFunctionData(functionFragment: 'revert_new_parameters', values?: undefined): string;
    encodeFunctionData(functionFragment: 'stop_rampget_A', values?: undefined): string;
    encodeFunctionData(functionFragment: 'token', values?: undefined): string;
    encodeFunctionData(functionFragment: 'transferOwnership', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'unkill_me', values?: undefined): string;
    encodeFunctionData(functionFragment: 'withdraw_admin_fees', values?: undefined): string;
    decodeFunctionResult(functionFragment: 'A', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'ADMIN_ACTIONS_DELAY', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'FEE_DENOMINATOR', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'KILL_DEADLINE_DT', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'MAX_A', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'MAX_ADMIN_FEE', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'MAX_A_CHANGE', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'MAX_DECIMAL', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'MAX_FEE', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'MIN_RAMP_TIME', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'N_COINS', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'PRECISION', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'PRECISION_MUL', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'RATES', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'STABLESWAP_FACTORY', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'add_liquidity', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'admin_actions_deadline', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'admin_balances', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'admin_fee', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'apply_new_fee', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'balances', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'calc_token_amount', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'calc_withdraw_one_coin', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'coins', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'commit_new_fee', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'donate_admin_fees', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'exchange', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'fee', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'future_A', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'future_A_time', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'future_admin_fee', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'future_fee', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'get_dy', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'get_dy_underlying', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'get_virtual_price', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'initial_A', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'initial_A_time', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'initialize', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'isInitialized', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'is_killed', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'kill_deadline', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'kill_me', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'owner', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'ramp_A', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'remove_liquidity', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'remove_liquidity_imbalance', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'remove_liquidity_one_coin', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'renounceOwnership', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'revert_new_parameters', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'stop_rampget_A', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'token', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'transferOwnership', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'unkill_me', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'withdraw_admin_fees', data: BytesLike): Result;
    events: {
        'AddLiquidity(address,uint256[2],uint256[2],uint256,uint256)': EventFragment;
        'CommitNewFee(uint256,uint256,uint256)': EventFragment;
        'DonateAdminFees()': EventFragment;
        'Kill()': EventFragment;
        'NewFee(uint256,uint256)': EventFragment;
        'OwnershipTransferred(address,address)': EventFragment;
        'RampA(uint256,uint256,uint256,uint256)': EventFragment;
        'RemoveLiquidity(address,uint256[2],uint256[2],uint256)': EventFragment;
        'RemoveLiquidityImbalance(address,uint256[2],uint256[2],uint256,uint256)': EventFragment;
        'RemoveLiquidityOne(address,uint256,uint256,uint256)': EventFragment;
        'RevertParameters()': EventFragment;
        'StopRampA(uint256,uint256)': EventFragment;
        'TokenExchange(address,uint256,uint256,uint256,uint256)': EventFragment;
        'Unkill()': EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: 'AddLiquidity'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'CommitNewFee'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'DonateAdminFees'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Kill'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'NewFee'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'OwnershipTransferred'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'RampA'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'RemoveLiquidity'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'RemoveLiquidityImbalance'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'RemoveLiquidityOne'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'RevertParameters'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'StopRampA'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'TokenExchange'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Unkill'): EventFragment;
}
export interface AddLiquidityEventObject {
    provider: string;
    token_amounts: [BigNumber, BigNumber];
    fees: [BigNumber, BigNumber];
    invariant: BigNumber;
    token_supply: BigNumber;
}
export declare type AddLiquidityEvent = TypedEvent<[
    string,
    [BigNumber, BigNumber],
    [BigNumber, BigNumber],
    BigNumber,
    BigNumber
], AddLiquidityEventObject>;
export declare type AddLiquidityEventFilter = TypedEventFilter<AddLiquidityEvent>;
export interface CommitNewFeeEventObject {
    deadline: BigNumber;
    fee: BigNumber;
    admin_fee: BigNumber;
}
export declare type CommitNewFeeEvent = TypedEvent<[BigNumber, BigNumber, BigNumber], CommitNewFeeEventObject>;
export declare type CommitNewFeeEventFilter = TypedEventFilter<CommitNewFeeEvent>;
export interface DonateAdminFeesEventObject {
}
export declare type DonateAdminFeesEvent = TypedEvent<[], DonateAdminFeesEventObject>;
export declare type DonateAdminFeesEventFilter = TypedEventFilter<DonateAdminFeesEvent>;
export interface KillEventObject {
}
export declare type KillEvent = TypedEvent<[], KillEventObject>;
export declare type KillEventFilter = TypedEventFilter<KillEvent>;
export interface NewFeeEventObject {
    fee: BigNumber;
    admin_fee: BigNumber;
}
export declare type NewFeeEvent = TypedEvent<[BigNumber, BigNumber], NewFeeEventObject>;
export declare type NewFeeEventFilter = TypedEventFilter<NewFeeEvent>;
export interface OwnershipTransferredEventObject {
    previousOwner: string;
    newOwner: string;
}
export declare type OwnershipTransferredEvent = TypedEvent<[string, string], OwnershipTransferredEventObject>;
export declare type OwnershipTransferredEventFilter = TypedEventFilter<OwnershipTransferredEvent>;
export interface RampAEventObject {
    old_A: BigNumber;
    new_A: BigNumber;
    initial_time: BigNumber;
    future_time: BigNumber;
}
export declare type RampAEvent = TypedEvent<[BigNumber, BigNumber, BigNumber, BigNumber], RampAEventObject>;
export declare type RampAEventFilter = TypedEventFilter<RampAEvent>;
export interface RemoveLiquidityEventObject {
    provider: string;
    token_amounts: [BigNumber, BigNumber];
    fees: [BigNumber, BigNumber];
    token_supply: BigNumber;
}
export declare type RemoveLiquidityEvent = TypedEvent<[
    string,
    [BigNumber, BigNumber],
    [BigNumber, BigNumber],
    BigNumber
], RemoveLiquidityEventObject>;
export declare type RemoveLiquidityEventFilter = TypedEventFilter<RemoveLiquidityEvent>;
export interface RemoveLiquidityImbalanceEventObject {
    provider: string;
    token_amounts: [BigNumber, BigNumber];
    fees: [BigNumber, BigNumber];
    invariant: BigNumber;
    token_supply: BigNumber;
}
export declare type RemoveLiquidityImbalanceEvent = TypedEvent<[
    string,
    [BigNumber, BigNumber],
    [BigNumber, BigNumber],
    BigNumber,
    BigNumber
], RemoveLiquidityImbalanceEventObject>;
export declare type RemoveLiquidityImbalanceEventFilter = TypedEventFilter<RemoveLiquidityImbalanceEvent>;
export interface RemoveLiquidityOneEventObject {
    provider: string;
    index: BigNumber;
    token_amount: BigNumber;
    coin_amount: BigNumber;
}
export declare type RemoveLiquidityOneEvent = TypedEvent<[
    string,
    BigNumber,
    BigNumber,
    BigNumber
], RemoveLiquidityOneEventObject>;
export declare type RemoveLiquidityOneEventFilter = TypedEventFilter<RemoveLiquidityOneEvent>;
export interface RevertParametersEventObject {
}
export declare type RevertParametersEvent = TypedEvent<[], RevertParametersEventObject>;
export declare type RevertParametersEventFilter = TypedEventFilter<RevertParametersEvent>;
export interface StopRampAEventObject {
    A: BigNumber;
    t: BigNumber;
}
export declare type StopRampAEvent = TypedEvent<[BigNumber, BigNumber], StopRampAEventObject>;
export declare type StopRampAEventFilter = TypedEventFilter<StopRampAEvent>;
export interface TokenExchangeEventObject {
    buyer: string;
    sold_id: BigNumber;
    tokens_sold: BigNumber;
    bought_id: BigNumber;
    tokens_bought: BigNumber;
}
export declare type TokenExchangeEvent = TypedEvent<[
    string,
    BigNumber,
    BigNumber,
    BigNumber,
    BigNumber
], TokenExchangeEventObject>;
export declare type TokenExchangeEventFilter = TypedEventFilter<TokenExchangeEvent>;
export interface UnkillEventObject {
}
export declare type UnkillEvent = TypedEvent<[], UnkillEventObject>;
export declare type UnkillEventFilter = TypedEventFilter<UnkillEvent>;
export interface PancakeswapStablePool extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: PancakeswapStablePoolInterface;
    queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
    listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
    listeners(eventName?: string): Array<Listener>;
    removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
    removeAllListeners(eventName?: string): this;
    off: OnEvent<this>;
    on: OnEvent<this>;
    once: OnEvent<this>;
    removeListener: OnEvent<this>;
    functions: {
        A(overrides?: CallOverrides): Promise<[BigNumber]>;
        ADMIN_ACTIONS_DELAY(overrides?: CallOverrides): Promise<[BigNumber]>;
        FEE_DENOMINATOR(overrides?: CallOverrides): Promise<[BigNumber]>;
        KILL_DEADLINE_DT(overrides?: CallOverrides): Promise<[BigNumber]>;
        MAX_A(overrides?: CallOverrides): Promise<[BigNumber]>;
        MAX_ADMIN_FEE(overrides?: CallOverrides): Promise<[BigNumber]>;
        MAX_A_CHANGE(overrides?: CallOverrides): Promise<[BigNumber]>;
        MAX_DECIMAL(overrides?: CallOverrides): Promise<[BigNumber]>;
        MAX_FEE(overrides?: CallOverrides): Promise<[BigNumber]>;
        MIN_RAMP_TIME(overrides?: CallOverrides): Promise<[BigNumber]>;
        N_COINS(overrides?: CallOverrides): Promise<[BigNumber]>;
        PRECISION(overrides?: CallOverrides): Promise<[BigNumber]>;
        PRECISION_MUL(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        RATES(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        STABLESWAP_FACTORY(overrides?: CallOverrides): Promise<[string]>;
        add_liquidity(amounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], min_mint_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        admin_actions_deadline(overrides?: CallOverrides): Promise<[BigNumber]>;
        admin_balances(i: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        admin_fee(overrides?: CallOverrides): Promise<[BigNumber]>;
        apply_new_fee(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        balances(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        calc_token_amount(amounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], deposit: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<[BigNumber]>;
        calc_withdraw_one_coin(_token_amount: PromiseOrValue<BigNumberish>, i: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        coins(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
        commit_new_fee(new_fee: PromiseOrValue<BigNumberish>, new_admin_fee: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        donate_admin_fees(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        exchange(i: PromiseOrValue<BigNumberish>, j: PromiseOrValue<BigNumberish>, dx: PromiseOrValue<BigNumberish>, min_dy: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        fee(overrides?: CallOverrides): Promise<[BigNumber]>;
        future_A(overrides?: CallOverrides): Promise<[BigNumber]>;
        future_A_time(overrides?: CallOverrides): Promise<[BigNumber]>;
        future_admin_fee(overrides?: CallOverrides): Promise<[BigNumber]>;
        future_fee(overrides?: CallOverrides): Promise<[BigNumber]>;
        get_dy(i: PromiseOrValue<BigNumberish>, j: PromiseOrValue<BigNumberish>, dx: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        get_dy_underlying(i: PromiseOrValue<BigNumberish>, j: PromiseOrValue<BigNumberish>, dx: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        get_virtual_price(overrides?: CallOverrides): Promise<[BigNumber]>;
        initial_A(overrides?: CallOverrides): Promise<[BigNumber]>;
        initial_A_time(overrides?: CallOverrides): Promise<[BigNumber]>;
        initialize(_coins: [PromiseOrValue<string>, PromiseOrValue<string>], _A: PromiseOrValue<BigNumberish>, _fee: PromiseOrValue<BigNumberish>, _admin_fee: PromiseOrValue<BigNumberish>, _owner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        isInitialized(overrides?: CallOverrides): Promise<[boolean]>;
        is_killed(overrides?: CallOverrides): Promise<[boolean]>;
        kill_deadline(overrides?: CallOverrides): Promise<[BigNumber]>;
        kill_me(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        owner(overrides?: CallOverrides): Promise<[string]>;
        ramp_A(_future_A: PromiseOrValue<BigNumberish>, _future_time: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        remove_liquidity(_amount: PromiseOrValue<BigNumberish>, min_amounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        remove_liquidity_imbalance(amounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], max_burn_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        remove_liquidity_one_coin(_token_amount: PromiseOrValue<BigNumberish>, i: PromiseOrValue<BigNumberish>, min_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        renounceOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        revert_new_parameters(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        stop_rampget_A(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        token(overrides?: CallOverrides): Promise<[string]>;
        transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        unkill_me(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        withdraw_admin_fees(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
    };
    A(overrides?: CallOverrides): Promise<BigNumber>;
    ADMIN_ACTIONS_DELAY(overrides?: CallOverrides): Promise<BigNumber>;
    FEE_DENOMINATOR(overrides?: CallOverrides): Promise<BigNumber>;
    KILL_DEADLINE_DT(overrides?: CallOverrides): Promise<BigNumber>;
    MAX_A(overrides?: CallOverrides): Promise<BigNumber>;
    MAX_ADMIN_FEE(overrides?: CallOverrides): Promise<BigNumber>;
    MAX_A_CHANGE(overrides?: CallOverrides): Promise<BigNumber>;
    MAX_DECIMAL(overrides?: CallOverrides): Promise<BigNumber>;
    MAX_FEE(overrides?: CallOverrides): Promise<BigNumber>;
    MIN_RAMP_TIME(overrides?: CallOverrides): Promise<BigNumber>;
    N_COINS(overrides?: CallOverrides): Promise<BigNumber>;
    PRECISION(overrides?: CallOverrides): Promise<BigNumber>;
    PRECISION_MUL(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    RATES(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    STABLESWAP_FACTORY(overrides?: CallOverrides): Promise<string>;
    add_liquidity(amounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], min_mint_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    admin_actions_deadline(overrides?: CallOverrides): Promise<BigNumber>;
    admin_balances(i: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    admin_fee(overrides?: CallOverrides): Promise<BigNumber>;
    apply_new_fee(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    balances(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    calc_token_amount(amounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], deposit: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
    calc_withdraw_one_coin(_token_amount: PromiseOrValue<BigNumberish>, i: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    coins(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
    commit_new_fee(new_fee: PromiseOrValue<BigNumberish>, new_admin_fee: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    donate_admin_fees(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    exchange(i: PromiseOrValue<BigNumberish>, j: PromiseOrValue<BigNumberish>, dx: PromiseOrValue<BigNumberish>, min_dy: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    fee(overrides?: CallOverrides): Promise<BigNumber>;
    future_A(overrides?: CallOverrides): Promise<BigNumber>;
    future_A_time(overrides?: CallOverrides): Promise<BigNumber>;
    future_admin_fee(overrides?: CallOverrides): Promise<BigNumber>;
    future_fee(overrides?: CallOverrides): Promise<BigNumber>;
    get_dy(i: PromiseOrValue<BigNumberish>, j: PromiseOrValue<BigNumberish>, dx: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    get_dy_underlying(i: PromiseOrValue<BigNumberish>, j: PromiseOrValue<BigNumberish>, dx: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    get_virtual_price(overrides?: CallOverrides): Promise<BigNumber>;
    initial_A(overrides?: CallOverrides): Promise<BigNumber>;
    initial_A_time(overrides?: CallOverrides): Promise<BigNumber>;
    initialize(_coins: [PromiseOrValue<string>, PromiseOrValue<string>], _A: PromiseOrValue<BigNumberish>, _fee: PromiseOrValue<BigNumberish>, _admin_fee: PromiseOrValue<BigNumberish>, _owner: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    isInitialized(overrides?: CallOverrides): Promise<boolean>;
    is_killed(overrides?: CallOverrides): Promise<boolean>;
    kill_deadline(overrides?: CallOverrides): Promise<BigNumber>;
    kill_me(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    owner(overrides?: CallOverrides): Promise<string>;
    ramp_A(_future_A: PromiseOrValue<BigNumberish>, _future_time: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    remove_liquidity(_amount: PromiseOrValue<BigNumberish>, min_amounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    remove_liquidity_imbalance(amounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], max_burn_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    remove_liquidity_one_coin(_token_amount: PromiseOrValue<BigNumberish>, i: PromiseOrValue<BigNumberish>, min_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    renounceOwnership(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    revert_new_parameters(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    stop_rampget_A(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    token(overrides?: CallOverrides): Promise<string>;
    transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    unkill_me(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    withdraw_admin_fees(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    callStatic: {
        A(overrides?: CallOverrides): Promise<BigNumber>;
        ADMIN_ACTIONS_DELAY(overrides?: CallOverrides): Promise<BigNumber>;
        FEE_DENOMINATOR(overrides?: CallOverrides): Promise<BigNumber>;
        KILL_DEADLINE_DT(overrides?: CallOverrides): Promise<BigNumber>;
        MAX_A(overrides?: CallOverrides): Promise<BigNumber>;
        MAX_ADMIN_FEE(overrides?: CallOverrides): Promise<BigNumber>;
        MAX_A_CHANGE(overrides?: CallOverrides): Promise<BigNumber>;
        MAX_DECIMAL(overrides?: CallOverrides): Promise<BigNumber>;
        MAX_FEE(overrides?: CallOverrides): Promise<BigNumber>;
        MIN_RAMP_TIME(overrides?: CallOverrides): Promise<BigNumber>;
        N_COINS(overrides?: CallOverrides): Promise<BigNumber>;
        PRECISION(overrides?: CallOverrides): Promise<BigNumber>;
        PRECISION_MUL(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        RATES(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        STABLESWAP_FACTORY(overrides?: CallOverrides): Promise<string>;
        add_liquidity(amounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], min_mint_amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        admin_actions_deadline(overrides?: CallOverrides): Promise<BigNumber>;
        admin_balances(i: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        admin_fee(overrides?: CallOverrides): Promise<BigNumber>;
        apply_new_fee(overrides?: CallOverrides): Promise<void>;
        balances(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        calc_token_amount(amounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], deposit: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
        calc_withdraw_one_coin(_token_amount: PromiseOrValue<BigNumberish>, i: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        coins(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
        commit_new_fee(new_fee: PromiseOrValue<BigNumberish>, new_admin_fee: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        donate_admin_fees(overrides?: CallOverrides): Promise<void>;
        exchange(i: PromiseOrValue<BigNumberish>, j: PromiseOrValue<BigNumberish>, dx: PromiseOrValue<BigNumberish>, min_dy: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        fee(overrides?: CallOverrides): Promise<BigNumber>;
        future_A(overrides?: CallOverrides): Promise<BigNumber>;
        future_A_time(overrides?: CallOverrides): Promise<BigNumber>;
        future_admin_fee(overrides?: CallOverrides): Promise<BigNumber>;
        future_fee(overrides?: CallOverrides): Promise<BigNumber>;
        get_dy(i: PromiseOrValue<BigNumberish>, j: PromiseOrValue<BigNumberish>, dx: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        get_dy_underlying(i: PromiseOrValue<BigNumberish>, j: PromiseOrValue<BigNumberish>, dx: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        get_virtual_price(overrides?: CallOverrides): Promise<BigNumber>;
        initial_A(overrides?: CallOverrides): Promise<BigNumber>;
        initial_A_time(overrides?: CallOverrides): Promise<BigNumber>;
        initialize(_coins: [PromiseOrValue<string>, PromiseOrValue<string>], _A: PromiseOrValue<BigNumberish>, _fee: PromiseOrValue<BigNumberish>, _admin_fee: PromiseOrValue<BigNumberish>, _owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        isInitialized(overrides?: CallOverrides): Promise<boolean>;
        is_killed(overrides?: CallOverrides): Promise<boolean>;
        kill_deadline(overrides?: CallOverrides): Promise<BigNumber>;
        kill_me(overrides?: CallOverrides): Promise<void>;
        owner(overrides?: CallOverrides): Promise<string>;
        ramp_A(_future_A: PromiseOrValue<BigNumberish>, _future_time: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        remove_liquidity(_amount: PromiseOrValue<BigNumberish>, min_amounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], overrides?: CallOverrides): Promise<void>;
        remove_liquidity_imbalance(amounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], max_burn_amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        remove_liquidity_one_coin(_token_amount: PromiseOrValue<BigNumberish>, i: PromiseOrValue<BigNumberish>, min_amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        renounceOwnership(overrides?: CallOverrides): Promise<void>;
        revert_new_parameters(overrides?: CallOverrides): Promise<void>;
        stop_rampget_A(overrides?: CallOverrides): Promise<void>;
        token(overrides?: CallOverrides): Promise<string>;
        transferOwnership(newOwner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        unkill_me(overrides?: CallOverrides): Promise<void>;
        withdraw_admin_fees(overrides?: CallOverrides): Promise<void>;
    };
    filters: {
        'AddLiquidity(address,uint256[2],uint256[2],uint256,uint256)'(provider?: PromiseOrValue<string> | null, token_amounts?: null, fees?: null, invariant?: null, token_supply?: null): AddLiquidityEventFilter;
        AddLiquidity(provider?: PromiseOrValue<string> | null, token_amounts?: null, fees?: null, invariant?: null, token_supply?: null): AddLiquidityEventFilter;
        'CommitNewFee(uint256,uint256,uint256)'(deadline?: PromiseOrValue<BigNumberish> | null, fee?: null, admin_fee?: null): CommitNewFeeEventFilter;
        CommitNewFee(deadline?: PromiseOrValue<BigNumberish> | null, fee?: null, admin_fee?: null): CommitNewFeeEventFilter;
        'DonateAdminFees()'(): DonateAdminFeesEventFilter;
        DonateAdminFees(): DonateAdminFeesEventFilter;
        'Kill()'(): KillEventFilter;
        Kill(): KillEventFilter;
        'NewFee(uint256,uint256)'(fee?: null, admin_fee?: null): NewFeeEventFilter;
        NewFee(fee?: null, admin_fee?: null): NewFeeEventFilter;
        'OwnershipTransferred(address,address)'(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
        OwnershipTransferred(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
        'RampA(uint256,uint256,uint256,uint256)'(old_A?: null, new_A?: null, initial_time?: null, future_time?: null): RampAEventFilter;
        RampA(old_A?: null, new_A?: null, initial_time?: null, future_time?: null): RampAEventFilter;
        'RemoveLiquidity(address,uint256[2],uint256[2],uint256)'(provider?: PromiseOrValue<string> | null, token_amounts?: null, fees?: null, token_supply?: null): RemoveLiquidityEventFilter;
        RemoveLiquidity(provider?: PromiseOrValue<string> | null, token_amounts?: null, fees?: null, token_supply?: null): RemoveLiquidityEventFilter;
        'RemoveLiquidityImbalance(address,uint256[2],uint256[2],uint256,uint256)'(provider?: PromiseOrValue<string> | null, token_amounts?: null, fees?: null, invariant?: null, token_supply?: null): RemoveLiquidityImbalanceEventFilter;
        RemoveLiquidityImbalance(provider?: PromiseOrValue<string> | null, token_amounts?: null, fees?: null, invariant?: null, token_supply?: null): RemoveLiquidityImbalanceEventFilter;
        'RemoveLiquidityOne(address,uint256,uint256,uint256)'(provider?: PromiseOrValue<string> | null, index?: null, token_amount?: null, coin_amount?: null): RemoveLiquidityOneEventFilter;
        RemoveLiquidityOne(provider?: PromiseOrValue<string> | null, index?: null, token_amount?: null, coin_amount?: null): RemoveLiquidityOneEventFilter;
        'RevertParameters()'(): RevertParametersEventFilter;
        RevertParameters(): RevertParametersEventFilter;
        'StopRampA(uint256,uint256)'(A?: null, t?: null): StopRampAEventFilter;
        StopRampA(A?: null, t?: null): StopRampAEventFilter;
        'TokenExchange(address,uint256,uint256,uint256,uint256)'(buyer?: PromiseOrValue<string> | null, sold_id?: null, tokens_sold?: null, bought_id?: null, tokens_bought?: null): TokenExchangeEventFilter;
        TokenExchange(buyer?: PromiseOrValue<string> | null, sold_id?: null, tokens_sold?: null, bought_id?: null, tokens_bought?: null): TokenExchangeEventFilter;
        'Unkill()'(): UnkillEventFilter;
        Unkill(): UnkillEventFilter;
    };
    estimateGas: {
        A(overrides?: CallOverrides): Promise<BigNumber>;
        ADMIN_ACTIONS_DELAY(overrides?: CallOverrides): Promise<BigNumber>;
        FEE_DENOMINATOR(overrides?: CallOverrides): Promise<BigNumber>;
        KILL_DEADLINE_DT(overrides?: CallOverrides): Promise<BigNumber>;
        MAX_A(overrides?: CallOverrides): Promise<BigNumber>;
        MAX_ADMIN_FEE(overrides?: CallOverrides): Promise<BigNumber>;
        MAX_A_CHANGE(overrides?: CallOverrides): Promise<BigNumber>;
        MAX_DECIMAL(overrides?: CallOverrides): Promise<BigNumber>;
        MAX_FEE(overrides?: CallOverrides): Promise<BigNumber>;
        MIN_RAMP_TIME(overrides?: CallOverrides): Promise<BigNumber>;
        N_COINS(overrides?: CallOverrides): Promise<BigNumber>;
        PRECISION(overrides?: CallOverrides): Promise<BigNumber>;
        PRECISION_MUL(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        RATES(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        STABLESWAP_FACTORY(overrides?: CallOverrides): Promise<BigNumber>;
        add_liquidity(amounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], min_mint_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        admin_actions_deadline(overrides?: CallOverrides): Promise<BigNumber>;
        admin_balances(i: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        admin_fee(overrides?: CallOverrides): Promise<BigNumber>;
        apply_new_fee(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        balances(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        calc_token_amount(amounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], deposit: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
        calc_withdraw_one_coin(_token_amount: PromiseOrValue<BigNumberish>, i: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        coins(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        commit_new_fee(new_fee: PromiseOrValue<BigNumberish>, new_admin_fee: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        donate_admin_fees(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        exchange(i: PromiseOrValue<BigNumberish>, j: PromiseOrValue<BigNumberish>, dx: PromiseOrValue<BigNumberish>, min_dy: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        fee(overrides?: CallOverrides): Promise<BigNumber>;
        future_A(overrides?: CallOverrides): Promise<BigNumber>;
        future_A_time(overrides?: CallOverrides): Promise<BigNumber>;
        future_admin_fee(overrides?: CallOverrides): Promise<BigNumber>;
        future_fee(overrides?: CallOverrides): Promise<BigNumber>;
        get_dy(i: PromiseOrValue<BigNumberish>, j: PromiseOrValue<BigNumberish>, dx: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        get_dy_underlying(i: PromiseOrValue<BigNumberish>, j: PromiseOrValue<BigNumberish>, dx: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        get_virtual_price(overrides?: CallOverrides): Promise<BigNumber>;
        initial_A(overrides?: CallOverrides): Promise<BigNumber>;
        initial_A_time(overrides?: CallOverrides): Promise<BigNumber>;
        initialize(_coins: [PromiseOrValue<string>, PromiseOrValue<string>], _A: PromiseOrValue<BigNumberish>, _fee: PromiseOrValue<BigNumberish>, _admin_fee: PromiseOrValue<BigNumberish>, _owner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        isInitialized(overrides?: CallOverrides): Promise<BigNumber>;
        is_killed(overrides?: CallOverrides): Promise<BigNumber>;
        kill_deadline(overrides?: CallOverrides): Promise<BigNumber>;
        kill_me(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        owner(overrides?: CallOverrides): Promise<BigNumber>;
        ramp_A(_future_A: PromiseOrValue<BigNumberish>, _future_time: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        remove_liquidity(_amount: PromiseOrValue<BigNumberish>, min_amounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        remove_liquidity_imbalance(amounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], max_burn_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        remove_liquidity_one_coin(_token_amount: PromiseOrValue<BigNumberish>, i: PromiseOrValue<BigNumberish>, min_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        renounceOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        revert_new_parameters(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        stop_rampget_A(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        token(overrides?: CallOverrides): Promise<BigNumber>;
        transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        unkill_me(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        withdraw_admin_fees(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
    };
    populateTransaction: {
        A(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        ADMIN_ACTIONS_DELAY(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        FEE_DENOMINATOR(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        KILL_DEADLINE_DT(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        MAX_A(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        MAX_ADMIN_FEE(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        MAX_A_CHANGE(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        MAX_DECIMAL(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        MAX_FEE(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        MIN_RAMP_TIME(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        N_COINS(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        PRECISION(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        PRECISION_MUL(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        RATES(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        STABLESWAP_FACTORY(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        add_liquidity(amounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], min_mint_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        admin_actions_deadline(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        admin_balances(i: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        admin_fee(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        apply_new_fee(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        balances(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        calc_token_amount(amounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], deposit: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        calc_withdraw_one_coin(_token_amount: PromiseOrValue<BigNumberish>, i: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        coins(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        commit_new_fee(new_fee: PromiseOrValue<BigNumberish>, new_admin_fee: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        donate_admin_fees(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        exchange(i: PromiseOrValue<BigNumberish>, j: PromiseOrValue<BigNumberish>, dx: PromiseOrValue<BigNumberish>, min_dy: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        fee(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        future_A(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        future_A_time(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        future_admin_fee(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        future_fee(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        get_dy(i: PromiseOrValue<BigNumberish>, j: PromiseOrValue<BigNumberish>, dx: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        get_dy_underlying(i: PromiseOrValue<BigNumberish>, j: PromiseOrValue<BigNumberish>, dx: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        get_virtual_price(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        initial_A(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        initial_A_time(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        initialize(_coins: [PromiseOrValue<string>, PromiseOrValue<string>], _A: PromiseOrValue<BigNumberish>, _fee: PromiseOrValue<BigNumberish>, _admin_fee: PromiseOrValue<BigNumberish>, _owner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        isInitialized(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        is_killed(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        kill_deadline(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        kill_me(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        ramp_A(_future_A: PromiseOrValue<BigNumberish>, _future_time: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        remove_liquidity(_amount: PromiseOrValue<BigNumberish>, min_amounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        remove_liquidity_imbalance(amounts: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>], max_burn_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        remove_liquidity_one_coin(_token_amount: PromiseOrValue<BigNumberish>, i: PromiseOrValue<BigNumberish>, min_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        renounceOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        revert_new_parameters(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        stop_rampget_A(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        token(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        unkill_me(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        withdraw_admin_fees(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
    };
}
