import { Executable } from './executable'; /** * The BambuClient is used to invoke the BambuMeta Client APIs. This class captures the connection information, which handles the authentication * access to the BambuMeta APIs. */ export declare class BambuClient { private _clientId; private _clientSecret; private _domain; private _rootPath; private _token; private _tenantId; /** * The constructor requires the tenantId, clientId and clientSecret to properly construct requests to BambuMeta. * @param tenantId Your tenantId * @param clientId Your clientId * @param clientSecret Your client secret * @param domain The API domain (eg. api.bambumeta.software) * @param rootPath The root of the APIs (eg. nft) */ constructor(tenantId: string, clientId: string, clientSecret: string, domain?: string, rootPath?: string); /** * This internal function is called to retrieve the BambuMeta Access Token when needed * @returns The access token. */ private getBambuToken; /** * This function invokes the BambuMeta API request. * @param executeable Take an object of type > invokes a BambuMeta API call, and returns back the expected response object. * @returns The executable repsonse type for the API request. */ execute>(executeable: T): Promise ? U : never>; }