import type TransformingNetworkClient from '../../communication/TransformingNetworkClient'; import type Callback from '../../types/Callback'; import type Capability from '../capabilities/Capability'; import Helper from '../Helper'; import type Onboarding from '../onboarding/Onboarding'; import type Organization from '../organizations/Organizations'; import type Client from './Client'; import { type ClientData } from './data'; export default class ClientHelper extends Helper { protected readonly links: ClientData['_links']; protected readonly embedded: Client['_embedded']; constructor(networkClient: TransformingNetworkClient, links: ClientData['_links'], embedded: Client['_embedded']); /** * Returns the organization of the client, if embedded. * Otherwise fetches it from the API. * * @since 4.4.0 */ getOrganization(): Promise; getOrganization(callback: Callback): void; /** * Returns the onboarding status of the client, if embedded. * Otherwise fetches it from the API. * * @since 4.4.0 */ getOnboarding(): Promise; getOnboarding(callback: Callback): void; /** * Returns the capabilities of the client organization, if embedded. * * Note: Unlike organization and onboarding, client-specific capabilities can only * be retrieved via embedding. The Capabilities API (`/v2/capabilities`) returns * capabilities for the authenticated organization, not for a specific client. * * @since 4.4.0 */ getCapabilities(): Capability[] | undefined; }