import * as isoly from "isoly"; import * as authly from "authly"; import { Authorization } from "../Authorization"; import { Capture } from "../Capture"; import { Merchant as AcquirerMerchant } from "../Merchant"; import { Refund } from "../Refund"; import { Statistics } from "../Statistics"; import { Card } from "./Card"; import { Contact } from "./Contact"; import { Merchant } from "./Merchant"; export interface PostAuthorization { merchant: Merchant; amount: number; authorization: { id?: authly.Identifier; amount: number; currency: isoly.Currency; card: Card; contact?: Contact; created: isoly.DateTime; number?: string; captured?: { amount: number; latest: isoly.DateTime; auto?: true; }; refunded?: { amount: number; latest: isoly.DateTime; }; voided?: isoly.DateTime; recurring?: "initial" | "subsequent"; }; descriptor?: string; now: isoly.Date; } export declare namespace PostAuthorization { function is(value: PostAuthorization | any): value is PostAuthorization; function from(authorization: Authorization, creatable: (Capture.Creatable | Refund.Creatable) & { amount: number; }, merchant: AcquirerMerchant, statistics: Statistics, rate?: Record): PostAuthorization; }