import * as isoly from "isoly"; import { Authorization } from "../../Authorization"; import { Reconciliation } from "../../Merchant/Reconciliation"; import { Fee as SettlementFee } from "../../Settlement/Fee"; import { Operation } from "../Operation"; import { Network as NetworkFee } from "./Network"; import { Transaction as TransactionFee } from "./Transaction"; export declare type Fee = { [status in Operation]?: number; } & { [country in isoly.CountryCode.Alpha2]?: TransactionFee; } & { eea?: TransactionFee; other: TransactionFee; }; export declare namespace Fee { function is(value: any | Fee): value is Fee; function apply(operation: Operation, authorization: Authorization, reconciliation: Reconciliation, currency: isoly.Currency, gross: number, interchange: number, card: "debit" | "credit", rate: number, area: isoly.CountryCode.Alpha2 | undefined, precision?: number): SettlementFee; type Transaction = TransactionFee; namespace Transaction { const is: typeof TransactionFee.is; const isUnified: typeof TransactionFee.isUnified; const apply: typeof TransactionFee.apply; } type Network = NetworkFee; namespace Network { const apply: typeof NetworkFee.apply; } }