import * as isoly from "isoly"; import * as authly from "authly"; import { Authorization as AcquirerAuthorization } from "../Authorization"; import { Recurring } from "../Authorization/Recurring"; import { Capture } from "../Capture"; import { Fraudio } from "../Fraudio"; import { Merchant as AcquirerMerchant } from "../Merchant"; import { Refund } from "../Refund"; import { Transaction as SettlementTransaction } from "../Settlement/Transaction"; import { Statistics } from "../Statistics"; import { Card } from "./Card"; import { Contact } from "./Contact"; import { Merchant } from "./Merchant"; export interface Authorization { merchant: Merchant | { id: authly.Identifier; }; authorization: { id: string; number: string; reference: string; amount: number; currency: isoly.Currency; card: Card; contact?: Contact; descriptor?: string; recurring?: Recurring; verification?: "verified" | "unavailable" | "rejected"; history: AcquirerAuthorization.History[]; change?: AcquirerAuthorization.Change[]; captured: { history: Capture[]; amount: number; latest?: isoly.DateTime; auto?: true; }; refunded: { history: Refund[]; amount: number; latest?: isoly.DateTime; }; settled: { history: SettlementTransaction[]; gross: number; fee: number; net: number; latest?: isoly.DateTime; }; voided?: isoly.DateTime; status: AcquirerAuthorization.Status[]; created: isoly.DateTime; category?: "purchase" | "withdrawal" | "payout"; fraudio?: Fraudio; processor?: AcquirerAuthorization.Processor; }; } export declare namespace Authorization { function is(value: Authorization | any): value is Authorization; function to(state: Authorization): AcquirerAuthorization; function from(authorization: AcquirerAuthorization, merchant: AcquirerMerchant | { id: string; }, statistics?: Statistics): Authorization; function toCaptured(capture: Capture[], currency: isoly.Currency): { history: Capture[]; amount: number; latest?: isoly.DateTime; auto?: true; }; function toRefunded(refund: Refund[], currency: isoly.Currency): { history: Refund[]; amount: number; latest?: isoly.DateTime; }; function toSettled(authorization: AcquirerAuthorization): { history: SettlementTransaction[]; gross: number; fee: number; net: number; latest?: isoly.DateTime; }; function toCsv(authorizations: Authorization[]): string; const template: import("selectively/dist/Type/Object").TObject; }