import * as isoly from "isoly"; import * as authly from "authly"; import { Authorization } from "../Authorization"; import { Fraudio } from "../Fraudio"; import { Card } from "./Card"; import { Contact } from "./Contact"; import { Items } from "./Items"; import { Merchant } from "./Merchant"; export interface FailedAuthorization { merchant: Merchant | { id: authly.Identifier; }; authorization: { id: string; number: string; amount: number; items?: number | Items; currency?: isoly.Currency; card?: Card; contact?: Contact; capture?: "auto"; descriptor?: string; recurring?: Authorization.Recurring; verification?: "verified" | "unavailable" | "rejected"; status: "failed"[]; history: Authorization.History[]; reason: string; declinedBy?: "issuer" | "intergiro"; created: isoly.DateTime; category?: "purchase" | "withdrawal" | "payout"; fraudio?: Fraudio; processor?: Partial; }; } export declare namespace FailedAuthorization { function is(value: any | FailedAuthorization): value is FailedAuthorization; function from(history: Authorization.History[], id: authly.Identifier): FailedAuthorization | undefined; function load(histories: Authorization.History[], id: authly.Identifier): FailedAuthorization[]; }