/* tslint:disable */ /* eslint-disable */ /** * barkd REST API * A simple REST API for barkd, a wallet daemon for integrating bitcoin payments into your app over HTTP. Supports self-custodial Lightning, Ark, and on-chain out of the box. barkd is a long-running daemon best suited for always-on or high-connectivity environments like nodes, servers, desktops, and point-of-sale terminals. All endpoints return JSON. Amounts are denominated in satoshis. * * The version of the OpenAPI document: 0.6.1 * Contact: hello@second.tech * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { mapValues } from '../runtime'; /** * A payment method with a type discriminator and string value * @export * @interface PaymentMethod */ export interface PaymentMethod { /** * The type of payment method * @type {PaymentMethodTypeEnum} * @memberof PaymentMethod */ type: PaymentMethodTypeEnum; /** * The payment method value (address, invoice, etc.) * @type {string} * @memberof PaymentMethod */ value: string; } /** * @export */ export const PaymentMethodTypeEnum = { Ark: 'ark', Bitcoin: 'bitcoin', OutputScript: 'output-script', Invoice: 'invoice', Offer: 'offer', LightningAddress: 'lightning-address', Lnurl: 'lnurl', Custom: 'custom' } as const; export type PaymentMethodTypeEnum = typeof PaymentMethodTypeEnum[keyof typeof PaymentMethodTypeEnum]; /** * Check if a given object implements the PaymentMethod interface. */ export function instanceOfPaymentMethod(value: object): value is PaymentMethod { if (!('type' in value) || value['type'] === undefined) return false; if (!('value' in value) || value['value'] === undefined) return false; return true; } export function PaymentMethodFromJSON(json: any): PaymentMethod { return PaymentMethodFromJSONTyped(json, false); } export function PaymentMethodFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaymentMethod { if (json == null) { return json; } return { 'type': json['type'], 'value': json['value'], }; } export function PaymentMethodToJSON(json: any): PaymentMethod { return PaymentMethodToJSONTyped(json, false); } export function PaymentMethodToJSONTyped(value?: PaymentMethod | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'type': value['type'], 'value': value['value'], }; }