///
import { Output } from "../Models/Output";
/**
* Defines a Confederacy LookupService interface to be implemented for specific use-cases
*/
export interface LookupService {
/**
* Process the event when a new UTXO is let into a topic
* @param txid
* @param vout
* @param outputScript
* @param topic
*/
outputAdded(params: {
txid: string;
vout: number;
outputScript: Buffer;
topic: string;
}): Promise;
/**
* Process the spend event for a UTXO
* @param txid
* @param vout
* @param topic
*/
outputSpent(params: {
txid: string;
vout: number;
topic: string;
}): Promise;
/**
* Process the deletion event for a UTXO
* @param txid
* @param vout
* @param topic
*/
outputDeleted?(params: {
txid: string;
vout: number;
topic: string;
}): Promise;
/**
* Queries the lookup service for particular UTXOs
* @param {object} query - lookup query given as an object
* @returns {Promise