import { IExecConsumer } from '../types/internal.js';
import { UpdateOracleMessage, UpdateOracleOptions, UpdateOracleParams } from '../types/updateOracle.js';
import { Observable } from '../utils/reactive.js';
/**
 * Updates an oracle with new parameters.
 * @param paramSetOrCid Parameter set or CID.
 * @param iexec iExec SDK instance.
 * @param targetBlockchains Chain ID of target blockchains for cross-chain update
 * @param useVoucher Whether to use a voucher for payment (default: false)
 * @param oracleApp Oracle application address.
 * @param workerpool Workerpool address.
 * @param ipfsGateway IPFS gateway URL.
 * @param ipfsNode IPFS upload node URL.
 * @param oracleContract Oracle contract address.
 * @returns An observable for tracking the update process.
 */
declare const updateOracle: ({ paramSetOrCid, targetBlockchains, useVoucher, iexec, oracleApp, oracleAppWhitelist, ipfsGateway, ipfsNode, workerpool, oracleContract, }: UpdateOracleParams & UpdateOracleOptions & IExecConsumer) => Observable<UpdateOracleMessage>;
export { updateOracle };
