import {ReadOnlyContracts} from './contracts'; import {Addresses} from './addresses'; import {BTCAmount, MonetaryAmount, Tether} from './monetary'; import {Signer, SignerOrProvider} from './core'; import {GlobalActions} from './actions/global'; import {OptionsReadWriteActions} from './actions/options/read-write'; import {OptionsReadOnlyActions} from './actions/options/read-only'; import {Factory} from './actions/factory'; import {PositionActions as IPositionActions} from './actions/positions'; export declare type OptionActions = T extends Signer ? OptionsReadWriteActions : OptionsReadOnlyActions; export declare type FactoryActions< T extends SignerOrProvider > = T extends Signer ? Factory : null; export declare type PositionActions< T extends SignerOrProvider > = T extends Signer ? IPositionActions : null; export interface XOpts extends GlobalActions { readonly addresses: Addresses; readonly options: OptionActions; readonly positions: PositionActions; totalLiquidity(): Promise>; optionMarketsCount(): Promise; bitcoinTransferredAmount(): Promise; } export declare class DefaultXOpts implements GlobalActions { readonly addresses: Addresses; private readonly readOnlyContracts; readonly options: OptionActions; readonly positions: PositionActions; constructor( addresses: Addresses, readOnlyContracts: ReadOnlyContracts, options: OptionActions, positions: PositionActions ); totalLiquidity(): Promise>; optionMarketsCount(): Promise; bitcoinTransferredAmount(): Promise; static load( provider: T, addresses?: Addresses ): Promise>; } export declare function createXOpts( provider: T, addresses?: Addresses ): Promise>;