import { Observable } from "tns-core-modules/data/observable/observable"; export interface NSPaystackSuccessResponse { reference: string; } export interface NSPaystackErrorResponse extends Partial { code: number | string; message: string; } export declare type NSPaystackResponse = NSPaystackSuccessResponse | NSPaystackErrorResponse; export interface NSPaymentParams { amount: number; email: string; number: string; cvc: string; year: number; month: number; } export declare abstract class Payment extends Observable { static openDialogEvent: string; static closeDialogEvent: string; protected abstract initialize(params: NSPaymentParams): any; abstract addCustomField(name: string, value: string): this; abstract addMetadata(name: string, value: string): this; abstract charge(): Promise; constructor(params: NSPaymentParams); } export declare abstract class Common { constructor(); abstract getPublicKey(): string; abstract initialize(publicKey: string): this; abstract setPublicKey(key: string): this; abstract payment(params: NSPaymentParams): Payment; }