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 declare namespace Decimal {
    type D256Struct = {
        value: PromiseOrValue<BigNumberish>;
    };
    type D256StructOutput = [BigNumber] & {
        value: BigNumber;
    };
}
export declare namespace Monetary {
    type ValueStruct = {
        value: PromiseOrValue<BigNumberish>;
    };
    type ValueStructOutput = [BigNumber] & {
        value: BigNumber;
    };
    type PriceStruct = {
        value: PromiseOrValue<BigNumberish>;
    };
    type PriceStructOutput = [BigNumber] & {
        value: BigNumber;
    };
}
export declare namespace Storage {
    type RiskParamsStruct = {
        marginRatio: Decimal.D256Struct;
        liquidationSpread: Decimal.D256Struct;
        earningsRate: Decimal.D256Struct;
        minBorrowedValue: Monetary.ValueStruct;
        accountMaxNumberOfMarketsWithBalances: PromiseOrValue<BigNumberish>;
    };
    type RiskParamsStructOutput = [
        Decimal.D256StructOutput,
        Decimal.D256StructOutput,
        Decimal.D256StructOutput,
        Monetary.ValueStructOutput,
        BigNumber
    ] & {
        marginRatio: Decimal.D256StructOutput;
        liquidationSpread: Decimal.D256StructOutput;
        earningsRate: Decimal.D256StructOutput;
        minBorrowedValue: Monetary.ValueStructOutput;
        accountMaxNumberOfMarketsWithBalances: BigNumber;
    };
    type RiskLimitsStruct = {
        marginRatioMax: PromiseOrValue<BigNumberish>;
        liquidationSpreadMax: PromiseOrValue<BigNumberish>;
        earningsRateMax: PromiseOrValue<BigNumberish>;
        marginPremiumMax: PromiseOrValue<BigNumberish>;
        spreadPremiumMax: PromiseOrValue<BigNumberish>;
        minBorrowedValueMax: PromiseOrValue<BigNumberish>;
    };
    type RiskLimitsStructOutput = [BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber] & {
        marginRatioMax: BigNumber;
        liquidationSpreadMax: BigNumber;
        earningsRateMax: BigNumber;
        marginPremiumMax: BigNumber;
        spreadPremiumMax: BigNumber;
        minBorrowedValueMax: BigNumber;
    };
    type MarketStruct = {
        token: PromiseOrValue<string>;
        isClosing: PromiseOrValue<boolean>;
        isRecyclable: PromiseOrValue<boolean>;
        totalPar: Types.TotalParStruct;
        index: Interest.IndexStruct;
        priceOracle: PromiseOrValue<string>;
        interestSetter: PromiseOrValue<string>;
        marginPremium: Decimal.D256Struct;
        spreadPremium: Decimal.D256Struct;
        maxWei: Types.WeiStruct;
    };
    type MarketStructOutput = [
        string,
        boolean,
        boolean,
        Types.TotalParStructOutput,
        Interest.IndexStructOutput,
        string,
        string,
        Decimal.D256StructOutput,
        Decimal.D256StructOutput,
        Types.WeiStructOutput
    ] & {
        token: string;
        isClosing: boolean;
        isRecyclable: boolean;
        totalPar: Types.TotalParStructOutput;
        index: Interest.IndexStructOutput;
        priceOracle: string;
        interestSetter: string;
        marginPremium: Decimal.D256StructOutput;
        spreadPremium: Decimal.D256StructOutput;
        maxWei: Types.WeiStructOutput;
    };
}
export declare namespace Account {
    type InfoStruct = {
        owner: PromiseOrValue<string>;
        number: PromiseOrValue<BigNumberish>;
    };
    type InfoStructOutput = [string, BigNumber] & {
        owner: string;
        number: BigNumber;
    };
}
export declare namespace Types {
    type ParStruct = {
        sign: PromiseOrValue<boolean>;
        value: PromiseOrValue<BigNumberish>;
    };
    type ParStructOutput = [boolean, BigNumber] & {
        sign: boolean;
        value: BigNumber;
    };
    type WeiStruct = {
        sign: PromiseOrValue<boolean>;
        value: PromiseOrValue<BigNumberish>;
    };
    type WeiStructOutput = [boolean, BigNumber] & {
        sign: boolean;
        value: BigNumber;
    };
    type TotalParStruct = {
        borrow: PromiseOrValue<BigNumberish>;
        supply: PromiseOrValue<BigNumberish>;
    };
    type TotalParStructOutput = [BigNumber, BigNumber] & {
        borrow: BigNumber;
        supply: BigNumber;
    };
    type AssetAmountStruct = {
        sign: PromiseOrValue<boolean>;
        denomination: PromiseOrValue<BigNumberish>;
        ref: PromiseOrValue<BigNumberish>;
        value: PromiseOrValue<BigNumberish>;
    };
    type AssetAmountStructOutput = [boolean, number, number, BigNumber] & {
        sign: boolean;
        denomination: number;
        ref: number;
        value: BigNumber;
    };
    type OperatorArgStruct = {
        operator: PromiseOrValue<string>;
        trusted: PromiseOrValue<boolean>;
    };
    type OperatorArgStructOutput = [string, boolean] & {
        operator: string;
        trusted: boolean;
    };
}
export declare namespace Interest {
    type IndexStruct = {
        borrow: PromiseOrValue<BigNumberish>;
        supply: PromiseOrValue<BigNumberish>;
        lastUpdate: PromiseOrValue<BigNumberish>;
    };
    type IndexStructOutput = [BigNumber, BigNumber, number] & {
        borrow: BigNumber;
        supply: BigNumber;
        lastUpdate: number;
    };
    type RateStruct = {
        value: PromiseOrValue<BigNumberish>;
    };
    type RateStructOutput = [BigNumber] & {
        value: BigNumber;
    };
}
export declare namespace Actions {
    type ActionArgsStruct = {
        actionType: PromiseOrValue<BigNumberish>;
        accountId: PromiseOrValue<BigNumberish>;
        amount: Types.AssetAmountStruct;
        primaryMarketId: PromiseOrValue<BigNumberish>;
        secondaryMarketId: PromiseOrValue<BigNumberish>;
        otherAddress: PromiseOrValue<string>;
        otherAccountId: PromiseOrValue<BigNumberish>;
        data: PromiseOrValue<BytesLike>;
    };
    type ActionArgsStructOutput = [
        number,
        BigNumber,
        Types.AssetAmountStructOutput,
        BigNumber,
        BigNumber,
        string,
        BigNumber,
        string
    ] & {
        actionType: number;
        accountId: BigNumber;
        amount: Types.AssetAmountStructOutput;
        primaryMarketId: BigNumber;
        secondaryMarketId: BigNumber;
        otherAddress: string;
        otherAccountId: BigNumber;
        data: string;
    };
}
export interface DolomiteMarginInterface extends utils.Interface {
    functions: {
        'getAccountBalances((address,uint256))': FunctionFragment;
        'getAccountMarketWithBalanceAtIndex((address,uint256),uint256)': FunctionFragment;
        'getAccountMarketsWithBalances((address,uint256))': FunctionFragment;
        'getAccountMaxNumberOfMarketsWithBalances()': FunctionFragment;
        'getAccountNumberOfMarketsWithBalances((address,uint256))': FunctionFragment;
        'getAccountNumberOfMarketsWithDebt((address,uint256))': FunctionFragment;
        'getAccountPar((address,uint256),uint256)': FunctionFragment;
        'getAccountParNoMarketCheck((address,uint256),uint256)': FunctionFragment;
        'getAccountStatus((address,uint256))': FunctionFragment;
        'getAccountValues((address,uint256))': FunctionFragment;
        'getAccountWei((address,uint256),uint256)': FunctionFragment;
        'getAdjustedAccountValues((address,uint256))': FunctionFragment;
        'getEarningsRate()': FunctionFragment;
        'getIsAutoTraderSpecial(address)': FunctionFragment;
        'getIsGlobalOperator(address)': FunctionFragment;
        'getIsLocalOperator(address,address)': FunctionFragment;
        'getLiquidationSpread()': FunctionFragment;
        'getLiquidationSpreadForPair(uint256,uint256)': FunctionFragment;
        'getMarginRatio()': FunctionFragment;
        'getMarket(uint256)': FunctionFragment;
        'getMarketCachedIndex(uint256)': FunctionFragment;
        'getMarketCurrentIndex(uint256)': FunctionFragment;
        'getMarketIdByTokenAddress(address)': FunctionFragment;
        'getMarketInterestRate(uint256)': FunctionFragment;
        'getMarketInterestSetter(uint256)': FunctionFragment;
        'getMarketIsClosing(uint256)': FunctionFragment;
        'getMarketIsRecyclable(uint256)': FunctionFragment;
        'getMarketMarginPremium(uint256)': FunctionFragment;
        'getMarketMaxWei(uint256)': FunctionFragment;
        'getMarketPrice(uint256)': FunctionFragment;
        'getMarketPriceOracle(uint256)': FunctionFragment;
        'getMarketSpreadPremium(uint256)': FunctionFragment;
        'getMarketTokenAddress(uint256)': FunctionFragment;
        'getMarketTotalPar(uint256)': FunctionFragment;
        'getMarketWithInfo(uint256)': FunctionFragment;
        'getMinBorrowedValue()': FunctionFragment;
        'getNumExcessTokens(uint256)': FunctionFragment;
        'getNumMarkets()': FunctionFragment;
        'getRecyclableMarkets(uint256)': FunctionFragment;
        'getRiskLimits()': FunctionFragment;
        'getRiskParams()': FunctionFragment;
        'isOwner()': FunctionFragment;
        'operate((address,uint256)[],(uint8,uint256,(bool,uint8,uint8,uint256),uint256,uint256,address,uint256,bytes)[])': FunctionFragment;
        'owner()': FunctionFragment;
        'ownerAddMarket(address,address,address,(uint256),(uint256),uint256,bool,bool)': FunctionFragment;
        'ownerRemoveMarkets(uint256[],address)': FunctionFragment;
        'ownerSetAccountMaxNumberOfMarketsWithBalances(uint256)': FunctionFragment;
        'ownerSetAutoTraderSpecial(address,bool)': FunctionFragment;
        'ownerSetEarningsRate((uint256))': FunctionFragment;
        'ownerSetGlobalOperator(address,bool)': FunctionFragment;
        'ownerSetInterestSetter(uint256,address)': FunctionFragment;
        'ownerSetIsClosing(uint256,bool)': FunctionFragment;
        'ownerSetLiquidationSpread((uint256))': FunctionFragment;
        'ownerSetMarginPremium(uint256,(uint256))': FunctionFragment;
        'ownerSetMarginRatio((uint256))': FunctionFragment;
        'ownerSetMaxWei(uint256,uint256)': FunctionFragment;
        'ownerSetMinBorrowedValue((uint256))': FunctionFragment;
        'ownerSetPriceOracle(uint256,address)': FunctionFragment;
        'ownerSetSpreadPremium(uint256,(uint256))': FunctionFragment;
        'ownerWithdrawExcessTokens(uint256,address)': FunctionFragment;
        'ownerWithdrawUnsupportedTokens(address,address)': FunctionFragment;
        'renounceOwnership()': FunctionFragment;
        'setOperators((address,bool)[])': FunctionFragment;
        'transferOwnership(address)': FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: 'getAccountBalances' | 'getAccountMarketWithBalanceAtIndex' | 'getAccountMarketsWithBalances' | 'getAccountMaxNumberOfMarketsWithBalances' | 'getAccountNumberOfMarketsWithBalances' | 'getAccountNumberOfMarketsWithDebt' | 'getAccountPar' | 'getAccountParNoMarketCheck' | 'getAccountStatus' | 'getAccountValues' | 'getAccountWei' | 'getAdjustedAccountValues' | 'getEarningsRate' | 'getIsAutoTraderSpecial' | 'getIsGlobalOperator' | 'getIsLocalOperator' | 'getLiquidationSpread' | 'getLiquidationSpreadForPair' | 'getMarginRatio' | 'getMarket' | 'getMarketCachedIndex' | 'getMarketCurrentIndex' | 'getMarketIdByTokenAddress' | 'getMarketInterestRate' | 'getMarketInterestSetter' | 'getMarketIsClosing' | 'getMarketIsRecyclable' | 'getMarketMarginPremium' | 'getMarketMaxWei' | 'getMarketPrice' | 'getMarketPriceOracle' | 'getMarketSpreadPremium' | 'getMarketTokenAddress' | 'getMarketTotalPar' | 'getMarketWithInfo' | 'getMinBorrowedValue' | 'getNumExcessTokens' | 'getNumMarkets' | 'getRecyclableMarkets' | 'getRiskLimits' | 'getRiskParams' | 'isOwner' | 'operate' | 'owner' | 'ownerAddMarket' | 'ownerRemoveMarkets' | 'ownerSetAccountMaxNumberOfMarketsWithBalances' | 'ownerSetAutoTraderSpecial' | 'ownerSetEarningsRate' | 'ownerSetGlobalOperator' | 'ownerSetInterestSetter' | 'ownerSetIsClosing' | 'ownerSetLiquidationSpread' | 'ownerSetMarginPremium' | 'ownerSetMarginRatio' | 'ownerSetMaxWei' | 'ownerSetMinBorrowedValue' | 'ownerSetPriceOracle' | 'ownerSetSpreadPremium' | 'ownerWithdrawExcessTokens' | 'ownerWithdrawUnsupportedTokens' | 'renounceOwnership' | 'setOperators' | 'transferOwnership'): FunctionFragment;
    encodeFunctionData(functionFragment: 'getAccountBalances', values: [Account.InfoStruct]): string;
    encodeFunctionData(functionFragment: 'getAccountMarketWithBalanceAtIndex', values: [Account.InfoStruct, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getAccountMarketsWithBalances', values: [Account.InfoStruct]): string;
    encodeFunctionData(functionFragment: 'getAccountMaxNumberOfMarketsWithBalances', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getAccountNumberOfMarketsWithBalances', values: [Account.InfoStruct]): string;
    encodeFunctionData(functionFragment: 'getAccountNumberOfMarketsWithDebt', values: [Account.InfoStruct]): string;
    encodeFunctionData(functionFragment: 'getAccountPar', values: [Account.InfoStruct, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getAccountParNoMarketCheck', values: [Account.InfoStruct, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getAccountStatus', values: [Account.InfoStruct]): string;
    encodeFunctionData(functionFragment: 'getAccountValues', values: [Account.InfoStruct]): string;
    encodeFunctionData(functionFragment: 'getAccountWei', values: [Account.InfoStruct, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getAdjustedAccountValues', values: [Account.InfoStruct]): string;
    encodeFunctionData(functionFragment: 'getEarningsRate', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getIsAutoTraderSpecial', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'getIsGlobalOperator', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'getIsLocalOperator', values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'getLiquidationSpread', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getLiquidationSpreadForPair', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getMarginRatio', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getMarket', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getMarketCachedIndex', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getMarketCurrentIndex', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getMarketIdByTokenAddress', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'getMarketInterestRate', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getMarketInterestSetter', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getMarketIsClosing', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getMarketIsRecyclable', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getMarketMarginPremium', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getMarketMaxWei', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getMarketPrice', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getMarketPriceOracle', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getMarketSpreadPremium', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getMarketTokenAddress', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getMarketTotalPar', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getMarketWithInfo', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getMinBorrowedValue', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getNumExcessTokens', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getNumMarkets', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getRecyclableMarkets', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getRiskLimits', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getRiskParams', values?: undefined): string;
    encodeFunctionData(functionFragment: 'isOwner', values?: undefined): string;
    encodeFunctionData(functionFragment: 'operate', values: [Account.InfoStruct[], Actions.ActionArgsStruct[]]): string;
    encodeFunctionData(functionFragment: 'owner', values?: undefined): string;
    encodeFunctionData(functionFragment: 'ownerAddMarket', values: [
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        Decimal.D256Struct,
        Decimal.D256Struct,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<boolean>,
        PromiseOrValue<boolean>
    ]): string;
    encodeFunctionData(functionFragment: 'ownerRemoveMarkets', values: [PromiseOrValue<BigNumberish>[], PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'ownerSetAccountMaxNumberOfMarketsWithBalances', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'ownerSetAutoTraderSpecial', values: [PromiseOrValue<string>, PromiseOrValue<boolean>]): string;
    encodeFunctionData(functionFragment: 'ownerSetEarningsRate', values: [Decimal.D256Struct]): string;
    encodeFunctionData(functionFragment: 'ownerSetGlobalOperator', values: [PromiseOrValue<string>, PromiseOrValue<boolean>]): string;
    encodeFunctionData(functionFragment: 'ownerSetInterestSetter', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'ownerSetIsClosing', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<boolean>]): string;
    encodeFunctionData(functionFragment: 'ownerSetLiquidationSpread', values: [Decimal.D256Struct]): string;
    encodeFunctionData(functionFragment: 'ownerSetMarginPremium', values: [PromiseOrValue<BigNumberish>, Decimal.D256Struct]): string;
    encodeFunctionData(functionFragment: 'ownerSetMarginRatio', values: [Decimal.D256Struct]): string;
    encodeFunctionData(functionFragment: 'ownerSetMaxWei', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'ownerSetMinBorrowedValue', values: [Monetary.ValueStruct]): string;
    encodeFunctionData(functionFragment: 'ownerSetPriceOracle', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'ownerSetSpreadPremium', values: [PromiseOrValue<BigNumberish>, Decimal.D256Struct]): string;
    encodeFunctionData(functionFragment: 'ownerWithdrawExcessTokens', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'ownerWithdrawUnsupportedTokens', values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'renounceOwnership', values?: undefined): string;
    encodeFunctionData(functionFragment: 'setOperators', values: [Types.OperatorArgStruct[]]): string;
    encodeFunctionData(functionFragment: 'transferOwnership', values: [PromiseOrValue<string>]): string;
    decodeFunctionResult(functionFragment: 'getAccountBalances', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getAccountMarketWithBalanceAtIndex', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getAccountMarketsWithBalances', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getAccountMaxNumberOfMarketsWithBalances', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getAccountNumberOfMarketsWithBalances', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getAccountNumberOfMarketsWithDebt', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getAccountPar', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getAccountParNoMarketCheck', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getAccountStatus', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getAccountValues', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getAccountWei', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getAdjustedAccountValues', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getEarningsRate', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getIsAutoTraderSpecial', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getIsGlobalOperator', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getIsLocalOperator', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getLiquidationSpread', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getLiquidationSpreadForPair', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getMarginRatio', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getMarket', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getMarketCachedIndex', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getMarketCurrentIndex', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getMarketIdByTokenAddress', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getMarketInterestRate', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getMarketInterestSetter', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getMarketIsClosing', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getMarketIsRecyclable', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getMarketMarginPremium', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getMarketMaxWei', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getMarketPrice', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getMarketPriceOracle', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getMarketSpreadPremium', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getMarketTokenAddress', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getMarketTotalPar', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getMarketWithInfo', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getMinBorrowedValue', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getNumExcessTokens', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getNumMarkets', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getRecyclableMarkets', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getRiskLimits', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getRiskParams', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'isOwner', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'operate', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'owner', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'ownerAddMarket', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'ownerRemoveMarkets', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'ownerSetAccountMaxNumberOfMarketsWithBalances', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'ownerSetAutoTraderSpecial', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'ownerSetEarningsRate', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'ownerSetGlobalOperator', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'ownerSetInterestSetter', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'ownerSetIsClosing', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'ownerSetLiquidationSpread', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'ownerSetMarginPremium', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'ownerSetMarginRatio', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'ownerSetMaxWei', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'ownerSetMinBorrowedValue', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'ownerSetPriceOracle', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'ownerSetSpreadPremium', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'ownerWithdrawExcessTokens', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'ownerWithdrawUnsupportedTokens', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'renounceOwnership', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setOperators', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'transferOwnership', data: BytesLike): Result;
    events: {
        'LogOperatorSet(address,address,bool)': EventFragment;
        'OwnershipTransferred(address,address)': EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: 'LogOperatorSet'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'OwnershipTransferred'): EventFragment;
}
export interface LogOperatorSetEventObject {
    owner: string;
    operator: string;
    trusted: boolean;
}
export declare type LogOperatorSetEvent = TypedEvent<[string, string, boolean], LogOperatorSetEventObject>;
export declare type LogOperatorSetEventFilter = TypedEventFilter<LogOperatorSetEvent>;
export interface OwnershipTransferredEventObject {
    previousOwner: string;
    newOwner: string;
}
export declare type OwnershipTransferredEvent = TypedEvent<[string, string], OwnershipTransferredEventObject>;
export declare type OwnershipTransferredEventFilter = TypedEventFilter<OwnershipTransferredEvent>;
export interface DolomiteMargin extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: DolomiteMarginInterface;
    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: {
        getAccountBalances(account: Account.InfoStruct, overrides?: CallOverrides): Promise<[BigNumber[], string[], Types.ParStructOutput[], Types.WeiStructOutput[]]>;
        getAccountMarketWithBalanceAtIndex(account: Account.InfoStruct, index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        getAccountMarketsWithBalances(account: Account.InfoStruct, overrides?: CallOverrides): Promise<[BigNumber[]]>;
        getAccountMaxNumberOfMarketsWithBalances(overrides?: CallOverrides): Promise<[BigNumber]>;
        getAccountNumberOfMarketsWithBalances(account: Account.InfoStruct, overrides?: CallOverrides): Promise<[BigNumber]>;
        getAccountNumberOfMarketsWithDebt(account: Account.InfoStruct, overrides?: CallOverrides): Promise<[BigNumber]>;
        getAccountPar(account: Account.InfoStruct, marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[Types.ParStructOutput]>;
        getAccountParNoMarketCheck(account: Account.InfoStruct, marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[Types.ParStructOutput]>;
        getAccountStatus(account: Account.InfoStruct, overrides?: CallOverrides): Promise<[number]>;
        getAccountValues(account: Account.InfoStruct, overrides?: CallOverrides): Promise<[Monetary.ValueStructOutput, Monetary.ValueStructOutput]>;
        getAccountWei(account: Account.InfoStruct, marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[Types.WeiStructOutput]>;
        getAdjustedAccountValues(account: Account.InfoStruct, overrides?: CallOverrides): Promise<[Monetary.ValueStructOutput, Monetary.ValueStructOutput]>;
        getEarningsRate(overrides?: CallOverrides): Promise<[Decimal.D256StructOutput]>;
        getIsAutoTraderSpecial(autoTrader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        getIsGlobalOperator(operator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        getIsLocalOperator(owner: PromiseOrValue<string>, operator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        getLiquidationSpread(overrides?: CallOverrides): Promise<[Decimal.D256StructOutput]>;
        getLiquidationSpreadForPair(heldMarketId: PromiseOrValue<BigNumberish>, owedMarketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[Decimal.D256StructOutput]>;
        getMarginRatio(overrides?: CallOverrides): Promise<[Decimal.D256StructOutput]>;
        getMarket(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[Storage.MarketStructOutput]>;
        getMarketCachedIndex(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[Interest.IndexStructOutput]>;
        getMarketCurrentIndex(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[Interest.IndexStructOutput]>;
        getMarketIdByTokenAddress(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        getMarketInterestRate(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[Interest.RateStructOutput]>;
        getMarketInterestSetter(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
        getMarketIsClosing(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[boolean]>;
        getMarketIsRecyclable(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[boolean]>;
        getMarketMarginPremium(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[Decimal.D256StructOutput]>;
        getMarketMaxWei(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[Types.WeiStructOutput]>;
        getMarketPrice(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[Monetary.PriceStructOutput]>;
        getMarketPriceOracle(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
        getMarketSpreadPremium(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[Decimal.D256StructOutput]>;
        getMarketTokenAddress(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
        getMarketTotalPar(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[Types.TotalParStructOutput]>;
        getMarketWithInfo(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
            Storage.MarketStructOutput,
            Interest.IndexStructOutput,
            Monetary.PriceStructOutput,
            Interest.RateStructOutput
        ]>;
        getMinBorrowedValue(overrides?: CallOverrides): Promise<[Monetary.ValueStructOutput]>;
        getNumExcessTokens(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[Types.WeiStructOutput]>;
        getNumMarkets(overrides?: CallOverrides): Promise<[BigNumber]>;
        getRecyclableMarkets(n: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber[]]>;
        getRiskLimits(overrides?: CallOverrides): Promise<[Storage.RiskLimitsStructOutput]>;
        getRiskParams(overrides?: CallOverrides): Promise<[Storage.RiskParamsStructOutput]>;
        isOwner(overrides?: CallOverrides): Promise<[boolean]>;
        operate(accounts: Account.InfoStruct[], actions: Actions.ActionArgsStruct[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        owner(overrides?: CallOverrides): Promise<[string]>;
        ownerAddMarket(token: PromiseOrValue<string>, priceOracle: PromiseOrValue<string>, interestSetter: PromiseOrValue<string>, marginPremium: Decimal.D256Struct, spreadPremium: Decimal.D256Struct, maxWei: PromiseOrValue<BigNumberish>, isClosing: PromiseOrValue<boolean>, isRecyclable: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        ownerRemoveMarkets(marketIds: PromiseOrValue<BigNumberish>[], salvager: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        ownerSetAccountMaxNumberOfMarketsWithBalances(accountMaxNumberOfMarketsWithBalances: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        ownerSetAutoTraderSpecial(autoTrader: PromiseOrValue<string>, special: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        ownerSetEarningsRate(earningsRate: Decimal.D256Struct, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        ownerSetGlobalOperator(operator: PromiseOrValue<string>, approved: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        ownerSetInterestSetter(marketId: PromiseOrValue<BigNumberish>, interestSetter: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        ownerSetIsClosing(marketId: PromiseOrValue<BigNumberish>, isClosing: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        ownerSetLiquidationSpread(spread: Decimal.D256Struct, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        ownerSetMarginPremium(marketId: PromiseOrValue<BigNumberish>, marginPremium: Decimal.D256Struct, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        ownerSetMarginRatio(ratio: Decimal.D256Struct, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        ownerSetMaxWei(marketId: PromiseOrValue<BigNumberish>, maxWei: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        ownerSetMinBorrowedValue(minBorrowedValue: Monetary.ValueStruct, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        ownerSetPriceOracle(marketId: PromiseOrValue<BigNumberish>, priceOracle: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        ownerSetSpreadPremium(marketId: PromiseOrValue<BigNumberish>, spreadPremium: Decimal.D256Struct, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        ownerWithdrawExcessTokens(marketId: PromiseOrValue<BigNumberish>, recipient: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        ownerWithdrawUnsupportedTokens(token: PromiseOrValue<string>, recipient: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        renounceOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setOperators(args: Types.OperatorArgStruct[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
    };
    getAccountBalances(account: Account.InfoStruct, overrides?: CallOverrides): Promise<[BigNumber[], string[], Types.ParStructOutput[], Types.WeiStructOutput[]]>;
    getAccountMarketWithBalanceAtIndex(account: Account.InfoStruct, index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    getAccountMarketsWithBalances(account: Account.InfoStruct, overrides?: CallOverrides): Promise<BigNumber[]>;
    getAccountMaxNumberOfMarketsWithBalances(overrides?: CallOverrides): Promise<BigNumber>;
    getAccountNumberOfMarketsWithBalances(account: Account.InfoStruct, overrides?: CallOverrides): Promise<BigNumber>;
    getAccountNumberOfMarketsWithDebt(account: Account.InfoStruct, overrides?: CallOverrides): Promise<BigNumber>;
    getAccountPar(account: Account.InfoStruct, marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<Types.ParStructOutput>;
    getAccountParNoMarketCheck(account: Account.InfoStruct, marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<Types.ParStructOutput>;
    getAccountStatus(account: Account.InfoStruct, overrides?: CallOverrides): Promise<number>;
    getAccountValues(account: Account.InfoStruct, overrides?: CallOverrides): Promise<[Monetary.ValueStructOutput, Monetary.ValueStructOutput]>;
    getAccountWei(account: Account.InfoStruct, marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<Types.WeiStructOutput>;
    getAdjustedAccountValues(account: Account.InfoStruct, overrides?: CallOverrides): Promise<[Monetary.ValueStructOutput, Monetary.ValueStructOutput]>;
    getEarningsRate(overrides?: CallOverrides): Promise<Decimal.D256StructOutput>;
    getIsAutoTraderSpecial(autoTrader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    getIsGlobalOperator(operator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    getIsLocalOperator(owner: PromiseOrValue<string>, operator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    getLiquidationSpread(overrides?: CallOverrides): Promise<Decimal.D256StructOutput>;
    getLiquidationSpreadForPair(heldMarketId: PromiseOrValue<BigNumberish>, owedMarketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<Decimal.D256StructOutput>;
    getMarginRatio(overrides?: CallOverrides): Promise<Decimal.D256StructOutput>;
    getMarket(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<Storage.MarketStructOutput>;
    getMarketCachedIndex(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<Interest.IndexStructOutput>;
    getMarketCurrentIndex(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<Interest.IndexStructOutput>;
    getMarketIdByTokenAddress(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    getMarketInterestRate(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<Interest.RateStructOutput>;
    getMarketInterestSetter(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
    getMarketIsClosing(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
    getMarketIsRecyclable(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
    getMarketMarginPremium(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<Decimal.D256StructOutput>;
    getMarketMaxWei(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<Types.WeiStructOutput>;
    getMarketPrice(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<Monetary.PriceStructOutput>;
    getMarketPriceOracle(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
    getMarketSpreadPremium(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<Decimal.D256StructOutput>;
    getMarketTokenAddress(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
    getMarketTotalPar(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<Types.TotalParStructOutput>;
    getMarketWithInfo(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
        Storage.MarketStructOutput,
        Interest.IndexStructOutput,
        Monetary.PriceStructOutput,
        Interest.RateStructOutput
    ]>;
    getMinBorrowedValue(overrides?: CallOverrides): Promise<Monetary.ValueStructOutput>;
    getNumExcessTokens(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<Types.WeiStructOutput>;
    getNumMarkets(overrides?: CallOverrides): Promise<BigNumber>;
    getRecyclableMarkets(n: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber[]>;
    getRiskLimits(overrides?: CallOverrides): Promise<Storage.RiskLimitsStructOutput>;
    getRiskParams(overrides?: CallOverrides): Promise<Storage.RiskParamsStructOutput>;
    isOwner(overrides?: CallOverrides): Promise<boolean>;
    operate(accounts: Account.InfoStruct[], actions: Actions.ActionArgsStruct[], overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    owner(overrides?: CallOverrides): Promise<string>;
    ownerAddMarket(token: PromiseOrValue<string>, priceOracle: PromiseOrValue<string>, interestSetter: PromiseOrValue<string>, marginPremium: Decimal.D256Struct, spreadPremium: Decimal.D256Struct, maxWei: PromiseOrValue<BigNumberish>, isClosing: PromiseOrValue<boolean>, isRecyclable: PromiseOrValue<boolean>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    ownerRemoveMarkets(marketIds: PromiseOrValue<BigNumberish>[], salvager: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    ownerSetAccountMaxNumberOfMarketsWithBalances(accountMaxNumberOfMarketsWithBalances: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    ownerSetAutoTraderSpecial(autoTrader: PromiseOrValue<string>, special: PromiseOrValue<boolean>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    ownerSetEarningsRate(earningsRate: Decimal.D256Struct, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    ownerSetGlobalOperator(operator: PromiseOrValue<string>, approved: PromiseOrValue<boolean>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    ownerSetInterestSetter(marketId: PromiseOrValue<BigNumberish>, interestSetter: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    ownerSetIsClosing(marketId: PromiseOrValue<BigNumberish>, isClosing: PromiseOrValue<boolean>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    ownerSetLiquidationSpread(spread: Decimal.D256Struct, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    ownerSetMarginPremium(marketId: PromiseOrValue<BigNumberish>, marginPremium: Decimal.D256Struct, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    ownerSetMarginRatio(ratio: Decimal.D256Struct, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    ownerSetMaxWei(marketId: PromiseOrValue<BigNumberish>, maxWei: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    ownerSetMinBorrowedValue(minBorrowedValue: Monetary.ValueStruct, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    ownerSetPriceOracle(marketId: PromiseOrValue<BigNumberish>, priceOracle: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    ownerSetSpreadPremium(marketId: PromiseOrValue<BigNumberish>, spreadPremium: Decimal.D256Struct, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    ownerWithdrawExcessTokens(marketId: PromiseOrValue<BigNumberish>, recipient: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    ownerWithdrawUnsupportedTokens(token: PromiseOrValue<string>, recipient: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    renounceOwnership(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setOperators(args: Types.OperatorArgStruct[], overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    callStatic: {
        getAccountBalances(account: Account.InfoStruct, overrides?: CallOverrides): Promise<[BigNumber[], string[], Types.ParStructOutput[], Types.WeiStructOutput[]]>;
        getAccountMarketWithBalanceAtIndex(account: Account.InfoStruct, index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getAccountMarketsWithBalances(account: Account.InfoStruct, overrides?: CallOverrides): Promise<BigNumber[]>;
        getAccountMaxNumberOfMarketsWithBalances(overrides?: CallOverrides): Promise<BigNumber>;
        getAccountNumberOfMarketsWithBalances(account: Account.InfoStruct, overrides?: CallOverrides): Promise<BigNumber>;
        getAccountNumberOfMarketsWithDebt(account: Account.InfoStruct, overrides?: CallOverrides): Promise<BigNumber>;
        getAccountPar(account: Account.InfoStruct, marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<Types.ParStructOutput>;
        getAccountParNoMarketCheck(account: Account.InfoStruct, marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<Types.ParStructOutput>;
        getAccountStatus(account: Account.InfoStruct, overrides?: CallOverrides): Promise<number>;
        getAccountValues(account: Account.InfoStruct, overrides?: CallOverrides): Promise<[Monetary.ValueStructOutput, Monetary.ValueStructOutput]>;
        getAccountWei(account: Account.InfoStruct, marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<Types.WeiStructOutput>;
        getAdjustedAccountValues(account: Account.InfoStruct, overrides?: CallOverrides): Promise<[Monetary.ValueStructOutput, Monetary.ValueStructOutput]>;
        getEarningsRate(overrides?: CallOverrides): Promise<Decimal.D256StructOutput>;
        getIsAutoTraderSpecial(autoTrader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        getIsGlobalOperator(operator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        getIsLocalOperator(owner: PromiseOrValue<string>, operator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        getLiquidationSpread(overrides?: CallOverrides): Promise<Decimal.D256StructOutput>;
        getLiquidationSpreadForPair(heldMarketId: PromiseOrValue<BigNumberish>, owedMarketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<Decimal.D256StructOutput>;
        getMarginRatio(overrides?: CallOverrides): Promise<Decimal.D256StructOutput>;
        getMarket(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<Storage.MarketStructOutput>;
        getMarketCachedIndex(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<Interest.IndexStructOutput>;
        getMarketCurrentIndex(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<Interest.IndexStructOutput>;
        getMarketIdByTokenAddress(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getMarketInterestRate(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<Interest.RateStructOutput>;
        getMarketInterestSetter(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
        getMarketIsClosing(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
        getMarketIsRecyclable(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
        getMarketMarginPremium(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<Decimal.D256StructOutput>;
        getMarketMaxWei(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<Types.WeiStructOutput>;
        getMarketPrice(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<Monetary.PriceStructOutput>;
        getMarketPriceOracle(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
        getMarketSpreadPremium(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<Decimal.D256StructOutput>;
        getMarketTokenAddress(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
        getMarketTotalPar(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<Types.TotalParStructOutput>;
        getMarketWithInfo(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
            Storage.MarketStructOutput,
            Interest.IndexStructOutput,
            Monetary.PriceStructOutput,
            Interest.RateStructOutput
        ]>;
        getMinBorrowedValue(overrides?: CallOverrides): Promise<Monetary.ValueStructOutput>;
        getNumExcessTokens(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<Types.WeiStructOutput>;
        getNumMarkets(overrides?: CallOverrides): Promise<BigNumber>;
        getRecyclableMarkets(n: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber[]>;
        getRiskLimits(overrides?: CallOverrides): Promise<Storage.RiskLimitsStructOutput>;
        getRiskParams(overrides?: CallOverrides): Promise<Storage.RiskParamsStructOutput>;
        isOwner(overrides?: CallOverrides): Promise<boolean>;
        operate(accounts: Account.InfoStruct[], actions: Actions.ActionArgsStruct[], overrides?: CallOverrides): Promise<void>;
        owner(overrides?: CallOverrides): Promise<string>;
        ownerAddMarket(token: PromiseOrValue<string>, priceOracle: PromiseOrValue<string>, interestSetter: PromiseOrValue<string>, marginPremium: Decimal.D256Struct, spreadPremium: Decimal.D256Struct, maxWei: PromiseOrValue<BigNumberish>, isClosing: PromiseOrValue<boolean>, isRecyclable: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
        ownerRemoveMarkets(marketIds: PromiseOrValue<BigNumberish>[], salvager: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        ownerSetAccountMaxNumberOfMarketsWithBalances(accountMaxNumberOfMarketsWithBalances: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        ownerSetAutoTraderSpecial(autoTrader: PromiseOrValue<string>, special: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
        ownerSetEarningsRate(earningsRate: Decimal.D256Struct, overrides?: CallOverrides): Promise<void>;
        ownerSetGlobalOperator(operator: PromiseOrValue<string>, approved: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
        ownerSetInterestSetter(marketId: PromiseOrValue<BigNumberish>, interestSetter: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        ownerSetIsClosing(marketId: PromiseOrValue<BigNumberish>, isClosing: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
        ownerSetLiquidationSpread(spread: Decimal.D256Struct, overrides?: CallOverrides): Promise<void>;
        ownerSetMarginPremium(marketId: PromiseOrValue<BigNumberish>, marginPremium: Decimal.D256Struct, overrides?: CallOverrides): Promise<void>;
        ownerSetMarginRatio(ratio: Decimal.D256Struct, overrides?: CallOverrides): Promise<void>;
        ownerSetMaxWei(marketId: PromiseOrValue<BigNumberish>, maxWei: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        ownerSetMinBorrowedValue(minBorrowedValue: Monetary.ValueStruct, overrides?: CallOverrides): Promise<void>;
        ownerSetPriceOracle(marketId: PromiseOrValue<BigNumberish>, priceOracle: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        ownerSetSpreadPremium(marketId: PromiseOrValue<BigNumberish>, spreadPremium: Decimal.D256Struct, overrides?: CallOverrides): Promise<void>;
        ownerWithdrawExcessTokens(marketId: PromiseOrValue<BigNumberish>, recipient: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        ownerWithdrawUnsupportedTokens(token: PromiseOrValue<string>, recipient: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        renounceOwnership(overrides?: CallOverrides): Promise<void>;
        setOperators(args: Types.OperatorArgStruct[], overrides?: CallOverrides): Promise<void>;
        transferOwnership(newOwner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
    };
    filters: {
        'LogOperatorSet(address,address,bool)'(owner?: PromiseOrValue<string> | null, operator?: null, trusted?: null): LogOperatorSetEventFilter;
        LogOperatorSet(owner?: PromiseOrValue<string> | null, operator?: null, trusted?: null): LogOperatorSetEventFilter;
        'OwnershipTransferred(address,address)'(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
        OwnershipTransferred(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
    };
    estimateGas: {
        getAccountBalances(account: Account.InfoStruct, overrides?: CallOverrides): Promise<BigNumber>;
        getAccountMarketWithBalanceAtIndex(account: Account.InfoStruct, index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getAccountMarketsWithBalances(account: Account.InfoStruct, overrides?: CallOverrides): Promise<BigNumber>;
        getAccountMaxNumberOfMarketsWithBalances(overrides?: CallOverrides): Promise<BigNumber>;
        getAccountNumberOfMarketsWithBalances(account: Account.InfoStruct, overrides?: CallOverrides): Promise<BigNumber>;
        getAccountNumberOfMarketsWithDebt(account: Account.InfoStruct, overrides?: CallOverrides): Promise<BigNumber>;
        getAccountPar(account: Account.InfoStruct, marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getAccountParNoMarketCheck(account: Account.InfoStruct, marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getAccountStatus(account: Account.InfoStruct, overrides?: CallOverrides): Promise<BigNumber>;
        getAccountValues(account: Account.InfoStruct, overrides?: CallOverrides): Promise<BigNumber>;
        getAccountWei(account: Account.InfoStruct, marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getAdjustedAccountValues(account: Account.InfoStruct, overrides?: CallOverrides): Promise<BigNumber>;
        getEarningsRate(overrides?: CallOverrides): Promise<BigNumber>;
        getIsAutoTraderSpecial(autoTrader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getIsGlobalOperator(operator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getIsLocalOperator(owner: PromiseOrValue<string>, operator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getLiquidationSpread(overrides?: CallOverrides): Promise<BigNumber>;
        getLiquidationSpreadForPair(heldMarketId: PromiseOrValue<BigNumberish>, owedMarketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getMarginRatio(overrides?: CallOverrides): Promise<BigNumber>;
        getMarket(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getMarketCachedIndex(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getMarketCurrentIndex(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getMarketIdByTokenAddress(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getMarketInterestRate(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getMarketInterestSetter(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getMarketIsClosing(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getMarketIsRecyclable(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getMarketMarginPremium(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getMarketMaxWei(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getMarketPrice(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getMarketPriceOracle(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getMarketSpreadPremium(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getMarketTokenAddress(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getMarketTotalPar(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getMarketWithInfo(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getMinBorrowedValue(overrides?: CallOverrides): Promise<BigNumber>;
        getNumExcessTokens(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getNumMarkets(overrides?: CallOverrides): Promise<BigNumber>;
        getRecyclableMarkets(n: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getRiskLimits(overrides?: CallOverrides): Promise<BigNumber>;
        getRiskParams(overrides?: CallOverrides): Promise<BigNumber>;
        isOwner(overrides?: CallOverrides): Promise<BigNumber>;
        operate(accounts: Account.InfoStruct[], actions: Actions.ActionArgsStruct[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        owner(overrides?: CallOverrides): Promise<BigNumber>;
        ownerAddMarket(token: PromiseOrValue<string>, priceOracle: PromiseOrValue<string>, interestSetter: PromiseOrValue<string>, marginPremium: Decimal.D256Struct, spreadPremium: Decimal.D256Struct, maxWei: PromiseOrValue<BigNumberish>, isClosing: PromiseOrValue<boolean>, isRecyclable: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        ownerRemoveMarkets(marketIds: PromiseOrValue<BigNumberish>[], salvager: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        ownerSetAccountMaxNumberOfMarketsWithBalances(accountMaxNumberOfMarketsWithBalances: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        ownerSetAutoTraderSpecial(autoTrader: PromiseOrValue<string>, special: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        ownerSetEarningsRate(earningsRate: Decimal.D256Struct, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        ownerSetGlobalOperator(operator: PromiseOrValue<string>, approved: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        ownerSetInterestSetter(marketId: PromiseOrValue<BigNumberish>, interestSetter: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        ownerSetIsClosing(marketId: PromiseOrValue<BigNumberish>, isClosing: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        ownerSetLiquidationSpread(spread: Decimal.D256Struct, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        ownerSetMarginPremium(marketId: PromiseOrValue<BigNumberish>, marginPremium: Decimal.D256Struct, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        ownerSetMarginRatio(ratio: Decimal.D256Struct, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        ownerSetMaxWei(marketId: PromiseOrValue<BigNumberish>, maxWei: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        ownerSetMinBorrowedValue(minBorrowedValue: Monetary.ValueStruct, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        ownerSetPriceOracle(marketId: PromiseOrValue<BigNumberish>, priceOracle: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        ownerSetSpreadPremium(marketId: PromiseOrValue<BigNumberish>, spreadPremium: Decimal.D256Struct, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        ownerWithdrawExcessTokens(marketId: PromiseOrValue<BigNumberish>, recipient: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        ownerWithdrawUnsupportedTokens(token: PromiseOrValue<string>, recipient: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        renounceOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setOperators(args: Types.OperatorArgStruct[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
    };
    populateTransaction: {
        getAccountBalances(account: Account.InfoStruct, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getAccountMarketWithBalanceAtIndex(account: Account.InfoStruct, index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getAccountMarketsWithBalances(account: Account.InfoStruct, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getAccountMaxNumberOfMarketsWithBalances(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getAccountNumberOfMarketsWithBalances(account: Account.InfoStruct, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getAccountNumberOfMarketsWithDebt(account: Account.InfoStruct, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getAccountPar(account: Account.InfoStruct, marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getAccountParNoMarketCheck(account: Account.InfoStruct, marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getAccountStatus(account: Account.InfoStruct, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getAccountValues(account: Account.InfoStruct, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getAccountWei(account: Account.InfoStruct, marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getAdjustedAccountValues(account: Account.InfoStruct, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getEarningsRate(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getIsAutoTraderSpecial(autoTrader: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getIsGlobalOperator(operator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getIsLocalOperator(owner: PromiseOrValue<string>, operator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getLiquidationSpread(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getLiquidationSpreadForPair(heldMarketId: PromiseOrValue<BigNumberish>, owedMarketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getMarginRatio(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getMarket(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getMarketCachedIndex(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getMarketCurrentIndex(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getMarketIdByTokenAddress(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getMarketInterestRate(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getMarketInterestSetter(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getMarketIsClosing(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getMarketIsRecyclable(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getMarketMarginPremium(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getMarketMaxWei(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getMarketPrice(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getMarketPriceOracle(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getMarketSpreadPremium(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getMarketTokenAddress(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getMarketTotalPar(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getMarketWithInfo(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getMinBorrowedValue(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getNumExcessTokens(marketId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getNumMarkets(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getRecyclableMarkets(n: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getRiskLimits(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getRiskParams(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        isOwner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        operate(accounts: Account.InfoStruct[], actions: Actions.ActionArgsStruct[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        ownerAddMarket(token: PromiseOrValue<string>, priceOracle: PromiseOrValue<string>, interestSetter: PromiseOrValue<string>, marginPremium: Decimal.D256Struct, spreadPremium: Decimal.D256Struct, maxWei: PromiseOrValue<BigNumberish>, isClosing: PromiseOrValue<boolean>, isRecyclable: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        ownerRemoveMarkets(marketIds: PromiseOrValue<BigNumberish>[], salvager: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        ownerSetAccountMaxNumberOfMarketsWithBalances(accountMaxNumberOfMarketsWithBalances: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        ownerSetAutoTraderSpecial(autoTrader: PromiseOrValue<string>, special: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        ownerSetEarningsRate(earningsRate: Decimal.D256Struct, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        ownerSetGlobalOperator(operator: PromiseOrValue<string>, approved: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        ownerSetInterestSetter(marketId: PromiseOrValue<BigNumberish>, interestSetter: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        ownerSetIsClosing(marketId: PromiseOrValue<BigNumberish>, isClosing: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        ownerSetLiquidationSpread(spread: Decimal.D256Struct, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        ownerSetMarginPremium(marketId: PromiseOrValue<BigNumberish>, marginPremium: Decimal.D256Struct, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        ownerSetMarginRatio(ratio: Decimal.D256Struct, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        ownerSetMaxWei(marketId: PromiseOrValue<BigNumberish>, maxWei: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        ownerSetMinBorrowedValue(minBorrowedValue: Monetary.ValueStruct, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        ownerSetPriceOracle(marketId: PromiseOrValue<BigNumberish>, priceOracle: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        ownerSetSpreadPremium(marketId: PromiseOrValue<BigNumberish>, spreadPremium: Decimal.D256Struct, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        ownerWithdrawExcessTokens(marketId: PromiseOrValue<BigNumberish>, recipient: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        ownerWithdrawUnsupportedTokens(token: PromiseOrValue<string>, recipient: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        renounceOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setOperators(args: Types.OperatorArgStruct[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
    };
}
