import * as t from 'io-ts'; export interface CreateInvoiceParams { value: number; memo?: string; expiry?: number; } export interface LightningWithdrawalParams { value: number; destination?: string; sequenceId?: string; } export interface LightningDepositParams { amount: number; } export interface PayInvoiceParams { invoice: string; sequenceId?: string; comment?: string; feeLimitRatio?: number; feeLimit?: number; } export interface GetInvoicesQuery { status?: string; limit?: number; } export interface LnurlPayParams { callback: string; millisatAmount: string; metadata: string; } export declare const WPTransferEntry: t.PartialC<{ wallet: t.StringC; address: t.StringC; value: t.NumberC; valueString: t.StringC; isChange: t.BooleanC; isPayGo: t.BooleanC; token: t.StringC; }>; export declare type WPTransferEntry = t.TypeOf; export declare const WPTransfer: t.TypeC<{ entries: t.ArrayC>; id: t.StringC; heightId: t.StringC; type: t.StringC; value: t.NumberC; state: t.StringC; }>; export declare type WPTransfer = t.TypeOf; export declare const WithdrawResponse: t.ExactC>; id: t.StringC; heightId: t.StringC; type: t.StringC; value: t.NumberC; state: t.StringC; }>; }>>; export declare type WithdrawResponse = t.TypeOf; export declare const CreateInvoiceResponse: t.ExactC; paymentHash: t.StringC; invoice: t.StringC; walletId: t.StringC; status: t.StringC; expiresAt: t.StringC; }>>; export declare type CreateInvoiceResponse = t.TypeOf; export declare const CreateDepositAddressResponse: t.ExactC>; export declare type CreateDepositAddressResponse = t.TypeOf; export declare const DepositResponse: t.ExactC>; id: t.StringC; heightId: t.StringC; type: t.StringC; value: t.NumberC; state: t.StringC; }>; }>>; export declare type DepositResponse = t.TypeOf; export declare const PayInvoiceResponse: t.ExactC>; id: t.StringC; heightId: t.StringC; type: t.StringC; value: t.NumberC; state: t.StringC; }>; status: t.StringC; }>>; export declare type PayInvoiceResponse = t.TypeOf; export declare const GetBalanceResponse: t.ExactC>; export declare type GetBalanceResponse = t.TypeOf; export declare const GetInvoicesResponse: t.ArrayC, t.LiteralC<"settled">, t.LiteralC<"canceled">]>; value: t.NumberC; expiresAt: t.StringC; createdAt: t.StringC; updatedAt: t.StringC; amtPaidSats: t.UnionC<[t.NumberC, t.UndefinedC]>; }>>>; export declare type GetInvoicesResponse = t.TypeOf; export declare const LnurlPayResponse: t.ExactC; callback: t.StringC; /** The maximum amount in millisatoshis we can pay for this LNRUL request */ maxSendable: t.NumberC; /** The minimum amount in millisatoshis we can pay for this LNRUL request */ minSendable: t.NumberC; /** A json array in string format describing the payment */ metadata: t.StringC; }>>; export declare type LnurlPayResponse = t.TypeOf; export declare type DecodedLnurlPayRequest = LnurlPayResponse & { /** * From https://github.com/fiatjaf/lnurl-rfc/blob/luds/06.md#pay-to-static-qrnfclink * a payment dialog must include: Domain name extracted from LNURL query string. */ domain: string; }; export interface ILightning { createInvoice(params: CreateInvoiceParams): Promise; createDepositAddress(): Promise; payInvoice(params: PayInvoiceParams): Promise; getBalance(): Promise; withdraw(params: LightningWithdrawalParams): Promise; deposit(params: LightningDepositParams): Promise; getInvoices(query?: GetInvoicesQuery): Promise; decodeLnurlPay(lnurl: string): Promise; fetchLnurlPayInvoice(params: LnurlPayParams): Promise; } //# sourceMappingURL=iLightning.d.ts.map