import * as gracely from "gracely"; import * as isoly from "isoly"; import * as authly from "authly"; import * as model from "@payfunc/model-card"; import { Merchant } from "../Merchant"; import { Fee } from "./Fee"; import { Processor } from "./Processor"; import { V1 } from "./V1"; export interface Transaction { authorization: authly.Identifier; reference: string; type: Merchant.Operation; card: "debit" | "credit"; scheme: model.Card.Scheme; area?: isoly.CountryCode.Alpha2; created: isoly.Date; amount?: number; currency: isoly.Currency; gross: number; fee: number | V1.Fee | Fee; net: number; grossCurrency?: isoly.Currency; reserve?: { amount: number; payout?: isoly.Date; }; merchant?: authly.Identifier | string; processor?: Processor; nnss?: string; arn?: string; payout?: isoly.Date | { currency: isoly.Currency; rate?: number; net?: number; }; transferDate?: isoly.Date; clearingDate?: isoly.Date; } export declare namespace Transaction { function is(value: any | Transaction): value is Transaction; function flaw(value: Transaction | any): gracely.Flaw; function toCustomer(value: Transaction, costPlus?: true): Transaction; function toCustomer(value: Transaction[], costPlus?: true): Transaction[]; const template: import("selectively/dist/Type/Object").TObject; }