@1amageek/tradable
Version:
Cloud Firestore model framework for TypeScript - Google
24 lines (23 loc) • 1.88 kB
TypeScript
import * as FirebaseFirestore from 'firebase-admin/firestore';
import { BalanceTransactionProtocol, AccountProtocol, Currency, TransactionResult, PayoutProtocol } from "./index";
export declare class BalanceManager<BalanceTransaction extends BalanceTransactionProtocol, Payout extends PayoutProtocol, Account extends AccountProtocol<BalanceTransaction, Payout>> {
private _BalanceTransaction;
private _Account;
constructor(transaction: {
new (id?: string, value?: {
[key: string]: any;
}): BalanceTransaction;
}, account: {
new (id?: string, value?: {
[key: string]: any;
}): Account;
});
static platform: string;
static bankAccount: string;
charge(purchasedBy: string, orderID: string, currency: Currency, amount: number, transactionResult: TransactionResult, transaction: FirebaseFirestore.Transaction): BalanceTransaction;
refund(purchasedBy: string, orderID: string, currency: Currency, amount: number, transactionResult: TransactionResult, transaction: FirebaseFirestore.Transaction): BalanceTransaction;
transfer(from: string, to: string, orderID: string, currency: Currency, amount: number, transactionResult: TransactionResult, transaction: FirebaseFirestore.Transaction): Promise<BalanceTransaction>;
transferRefund(from: string, to: string, orderID: string, currency: Currency, amount: number, transactionResult: TransactionResult, transaction: FirebaseFirestore.Transaction): Promise<BalanceTransaction>;
payout(accountID: string, currency: Currency, amount: number, transactionResult: TransactionResult, transaction: FirebaseFirestore.Transaction): Promise<BalanceTransaction>;
payoutCancel(accountID: string, currency: Currency, amount: number, transactionResult: TransactionResult, transaction: FirebaseFirestore.Transaction): Promise<BalanceTransaction>;
}