/**
 * This module provides access to the rest of the Mozaic SDK.
 * Proceed to the main SDK in the {@link Mozaic} class for more information.
 * @module Mozaic SDK
 */
import { Invoices } from "./resources/Invoices/Invoices";
import { PaymentCycles } from "./resources/PaymentCycles/PaymentCycles";
import { Permissions } from "./resources/Permissions/Permissions";
import { Wallets } from "./resources/Wallets/Wallets";
import { Contacts } from './resources/Contacts/Contacts';
import { Payments } from './resources/Payments/Payments';
export { MozaicError } from "./resources/MozaicError";
/**
 * This is the main entry point for the Mozaic SDK. You will need to obtain an API Key and
 * and endpoint to use this SDK. Please reach out to your Mozaic account representative to
 * get set up with system access.
 *
 * More information: [SDK Documentation](../documents/index.md)
 *
 * @category Mozaic SDK
 * @throws ApiException
 */
export declare class Mozaic {
    private _basePath;
    private _apiKey;
    private _configuration;
    private _sdks;
    /**
      * Creates an instance of the Mozaic SDK.
      * @param basePath - The base URL for the Mozaic API.
      */
    constructor(basePath: string, apiKey: string);
    /**
     * Root resources are treated as singletons and should not keep state.
     * @param ctor The constructor pattern that each resource must implement.
     * @returns The one and only instance of the resource.
     */
    private getResource;
    /**
     * The Contacts resource gives you access to the Contacts API so that you can create and manage contacts.
     * Contacts are used to represent the recipients of payments and senders of payments that you have received.
     * @group Resources
     */
    get Contacts(): Contacts;
    /**
     * The Invoices resource gives you access to the Invoices API so that you can download invoices related to
     * payments you have made, including payments for Payment Cycles.
     * @group Resources
     */
    get Invoices(): Invoices;
    /**
     * The Payments resource gives you access to the Payments API so that you can view payments.
     *
     * @group Resources
     */
    get Payments(): Payments;
    /**
     * The PaymentCycles resource gives you access to the PaymentCycles API to create new payment cycles,
     * add entries to a payment cycle and finalize a payment cycle. You can also use this to retrieve and manage
     *  payment cycles, invoices and payment cycle entries.
     *
     * @group Resources
     */
    get PaymentCycles(): PaymentCycles;
    /**
     * The Permissions resource gives you access to the Permissions API to get UI visibility permissions for the
     * current Personal Access Token in use.
     *
     * @group Resources
     */
    get Permissions(): Permissions;
    /**
     * The Wallets resource gives you access to the Wallets API so that you can get payment and payout methods
     * from your wallets stored at Mozaic partners. Mozaic can then instruct a partner to move money using your
     * Wallet's tokens on your behalf.
     *
     * @group Resources
     */
    get Wallets(): Wallets;
}
//# sourceMappingURL=index.d.ts.map