///
import { CloudWatch, S3, SNS, SQS } from 'aws-sdk';
import { IBlockchain } from './iblockchain';
import { FyxCache } from './fyx-cache';
import { Pool } from 'pg';
export declare class FyxBlockchainPg implements IBlockchain {
network: string;
private pool;
private redis;
private cache;
private aws?;
private rpcClient?;
constructor(network: string, pool: Pool, redis: any, cache: FyxCache, aws?: {
s3: S3;
sns: SNS;
sqs: SQS;
cloudwatch: CloudWatch;
}, rpcClient?: any);
evalSpends(tableName: string, outPoints: {
txid: Buffer;
vout: number;
}[], txid: string): Promise;
broadcast(rawtx: string, mapiKey?: string): Promise;
fetch(txid: string): Promise;
calculateScriptHash(owner: string, ownerType: string): Promise;
utxos(owner: string, ownerType?: string, limit?: number): Promise;
utxoCount(owner: string, ownerType?: string): Promise;
balance(owner: string, ownerType?: string): Promise;
spends(txid: string, vout: number | string): Promise;
time(txid: string): Promise;
loadParents(rawtx: string): Promise<{
script: string;
satoshis: number;
}[]>;
loadParentTxOuts(tx: any): Promise;
findAndLockUtxo(scripthash: Buffer): Promise<{
txid: Buffer;
vout: number;
satoshis: number;
}>;
applyPayment(tx: any, payment: {
from: string;
amount: number;
}, change?: boolean): Promise<{
inputSats: number;
inputCount: number;
outputSats: number;
}>;
applyPayments(rawtx: any, payments: {
from: string;
amount: number;
}[], payer?: string, changeSplitSats?: number, satsPerByte?: number): Promise;
}