import BigNumber from 'bignumber.js';
import Web3 from 'web3';
import { TxResult, CallOptions, SendOptions, address } from '../../src/lib/types';
import { Relayer } from '../../src/modules/Relayer';
import { Contracts } from './Contracts';
export declare class MirrorOracle extends Relayer {
constructor(contracts: Contracts, web3: Web3);
getUnderlyingOracleAddress(options?: CallOptions): Promise
;
getUnderlyingOracle(options?: CallOptions): Promise;
/**
* Check whether a mirror oracle is synced with its underlying oracle.
*/
checkSynced(options?: CallOptions): Promise<{
toAddBitmap: BigNumber;
toRemoveBitmap: BigNumber;
barNeedsUpdate: boolean;
}>;
/**
* Check whether a mirror oracle is synced with its underlying oracle.
*
* Returns true if the mirror is synced, and false otherwise.
*/
checkIsSynced(options?: CallOptions): Promise;
/**
* Check whether a mirror oracle is synced with its underlying oracle.
*/
checkSyncedDetailed(options?: CallOptions): Promise<{
signersToAdd: address[];
signersToRemove: address[];
barNeedsUpdate: boolean;
}>;
/**
* Set the required number of signers to update the price.
*/
syncBar(options?: SendOptions): Promise;
}