import Joi from 'joi'; import { PaidBtnName } from '../methods/create-invoice'; import { CryptoCurrency } from './currencies'; import { Money, StringMoney } from './money'; import { DateString, Url } from './types'; export declare type InvoiceId = number; export declare enum InvoiceStatus { Active = "active", Paid = "paid" } export declare const invoiceStatuses: InvoiceStatus[]; export interface InvoiceResponse { invoice_id: InvoiceId; status: InvoiceStatus; hash: string; asset: CryptoCurrency; amount: StringMoney; pay_url: Url; description: string; created_at: DateString; paid_at?: DateString; allow_comments: boolean; allow_anonymous: boolean; paid_anonymously?: boolean; comment?: string; payload?: string; paid_btn_name: PaidBtnName; paid_btn_url: Url; } export interface Invoice { invoiceId: number; status: InvoiceStatus; hash: string; asset: CryptoCurrency; amount: Money; payUrl: Url; description: string; createdAt: Date; paidAt: Date; allowComments: boolean; allowAnonymous: boolean; paidAnonymously: boolean; comment: string; payload: any; paidBtnName: PaidBtnName; paidBtnUrl: Url; } export declare const invoiceIdValidator: Joi.NumberSchema; export declare function parseInvoiceResponse(response: InvoiceResponse): Invoice;