import { EArchiveService, EInvoiceService, GeneralService, OldInvoiceService } from './services';
import { Mode } from './types';
/**
 * @class NilveraApiClient
 * @description Main client class for interacting with the Nilvera API services.
 * Provides access to various services including payments, firms, e-invoices, products, and master data.
 */
export declare class NilveraApiClient {
    private apiClient?;
    private eInvoiceService?;
    private earchiveService?;
    private oldInvoiceService?;
    private generalService?;
    /**
     * @constructor
     * @param {string} baseUrl - Base URL of the Nilvera API
     * @param {string} apiKey - The API key for authentication
     */
    constructor(baseUrl: string, apiKey: string, mode: Mode);
    /**
     * @getter
     * @description Access master data operations
     * @returns {EInvoiceService} Instance of EInvoiceService
     * @throws {Error} If API client is not initialized
     */
    get eInvoice(): EInvoiceService;
    /**
     * @getter
     * @description Access master data operations
     * @returns {EArchiveService} Instance of EArchiveService
     * @throws {Error} If API client is not initialized
     */
    get earchive(): EArchiveService;
    /**
     * @getter
     * @description Access master data operations
     * @returns {OldInvoiceService} Instance of OldInvoiceService
     * @throws {Error} If API client is not initialized
     */
    get oldInvoice(): OldInvoiceService;
    /**
     * @getter
     * @description Access master data operations
     * @returns {GeneralService} Instance of GeneralService
     * @throws {Error} If API client is not initialized
     */
    get general(): GeneralService;
}
