import type { ConnectToNodeRequest } from '../models/ConnectToNodeRequest';
import type { CreateLightningInvoiceRequest } from '../models/CreateLightningInvoiceRequest';
import type { LightningChannelData } from '../models/LightningChannelData';
import type { LightningInvoiceData } from '../models/LightningInvoiceData';
import type { LightningNodeInformationData } from '../models/LightningNodeInformationData';
import type { OpenLightningChannelRequest } from '../models/OpenLightningChannelRequest';
import type { PayLightningInvoiceRequest } from '../models/PayLightningInvoiceRequest';
export declare class LightningStoreService {
    /**
     * Get node information
     * View information about the lightning node
     * @returns LightningNodeInformationData Lightning node information such as reachable nodeinfos
     * @throws ApiError
     */
    static storeLightningNodeApiGetInfo({ cryptoCode, storeId, }: {
        /** The cryptoCode of the lightning-node to query **/
        cryptoCode: string;
        /** The store id with the lightning-node configuration to query **/
        storeId: string;
    }): Promise<LightningNodeInformationData>;
    /**
     * Connect to lightning node
     * Connect to another lightning node.
     * @returns any Successfully connected
     * @throws ApiError
     */
    static storeLightningNodeApiConnectToNode({ cryptoCode, storeId, requestBody, }: {
        /** The cryptoCode of the lightning-node to query **/
        cryptoCode: string;
        /** The store id with the lightning-node configuration to query **/
        storeId: string;
        requestBody: ConnectToNodeRequest;
    }): Promise<any>;
    /**
     * Get channels
     * View information about the current channels of the lightning node
     * @returns LightningChannelData list of channels
     * @throws ApiError
     */
    static storeLightningNodeApiGetChannels({ cryptoCode, storeId, }: {
        /** The cryptoCode of the lightning-node to query **/
        cryptoCode: string;
        /** The store id with the lightning-node configuration to query **/
        storeId: string;
    }): Promise<Array<LightningChannelData>>;
    /**
     * Open channel
     * Open a channel with another lightning node. You should connect to that node first.
     * @returns any Successfully opened
     * @throws ApiError
     */
    static storeLightningNodeApiOpenChannel({ cryptoCode, storeId, requestBody, }: {
        /** The cryptoCode of the lightning-node to query **/
        cryptoCode: string;
        /** The store id with the lightning-node configuration to query **/
        storeId: string;
        requestBody: OpenLightningChannelRequest;
    }): Promise<any>;
    /**
     * Get deposit address
     * Get an on-chain deposit address for the lightning node
     * @returns string deposit address
     * @throws ApiError
     */
    static storeLightningNodeApiGetDepositAddress({ cryptoCode, storeId, }: {
        /** The cryptoCode of the lightning-node to query **/
        cryptoCode: string;
        /** The store id with the lightning-node configuration to query **/
        storeId: string;
    }): Promise<string>;
    /**
     * Get invoice
     * View information about the requested lightning invoice
     * @returns LightningInvoiceData Lightning invoice data
     * @throws ApiError
     */
    static storeLightningNodeApiGetInvoice({ cryptoCode, storeId, id, }: {
        /** The cryptoCode of the lightning-node to query **/
        cryptoCode: string;
        /** The store id with the lightning-node configuration to query **/
        storeId: string;
        /** The id of the lightning invoice. **/
        id: string;
    }): Promise<LightningInvoiceData>;
    /**
     * Pay Lightning Invoice
     * Pay a lightning invoice.
     * @returns any Successfully paid
     * @throws ApiError
     */
    static storeLightningNodeApiPayInvoice({ cryptoCode, storeId, requestBody, }: {
        /** The cryptoCode of the lightning-node to query **/
        cryptoCode: string;
        /** The store id with the lightning-node configuration to query **/
        storeId: string;
        requestBody: PayLightningInvoiceRequest;
    }): Promise<any>;
    /**
     * Create lightning invoice
     * Create a lightning invoice.
     * @returns LightningInvoiceData Successfully created
     * @throws ApiError
     */
    static storeLightningNodeApiCreateInvoice({ cryptoCode, storeId, requestBody, }: {
        /** The cryptoCode of the lightning-node to query **/
        cryptoCode: string;
        /** The store id with the lightning-node configuration to query **/
        storeId: string;
        requestBody: CreateLightningInvoiceRequest;
    }): Promise<LightningInvoiceData>;
}
