import * as gracely from "gracely"; import * as isoly from "isoly"; import { Error } from "../../Error"; export declare type Void = Fail | Success; interface Base { merchant: string; number: string; date: isoly.DateTime; type: "void"; status: "fail" | "success"; processor?: Record; } interface Fail extends Base { status: "fail"; reason: Error.Code; declinedBy?: "issuer" | "intergiro"; error: gracely.Error; } interface Success extends Base { status: "success"; } export declare namespace Void { function isFail(value: any | Fail): value is Fail; function isSuccess(value: any | Success): value is Success; function is(value: any | Void): value is Void; function create(merchant: string, number: string, input: gracely.Error | isoly.DateTime, processor?: Record): Void; } export {};