import * as gracely from "gracely"; import { Functions } from "../Functions"; import { Merchant } from "../Merchant"; import * as State from "../State"; import { Operation } from "./Operation"; import { Rule } from "./Rule"; export declare type Rules = Record & Record<"master", string[]>; export declare namespace Rules { function is(value: any | Rules): value is Rules; function flaw(value: any | Rules): gracely.Flaw; function parse(rules: Rules, verification?: "verified" | "unavailable" | "rejected", functions?: Functions): Rule[]; function apply(value: (State.PreAuthorization | State.PostAuthorization) & Record, rules: Rules | Rule[], operation: Operation, functions?: Functions): true | (gracely.Flaw & { type: "verification required" | "rule violation"; }); } export interface RuleValue { refundable?: number; verification?: "verified" | "noServiceAvailable" | "rejected"; risk: number; amount: number; authorized?: number; captured?: number; merchant?: Partial; }