import { ApolloClient, NormalizedCacheObject } from '@apollo/client'; import { AuthManager } from './auth'; import { ClinicalQueryManager } from './clinical'; import { ManagementQueryManager } from './management'; import { Env as Environment } from './utils'; export * as types from './types'; export * as fragments from './fragments'; export type Env = Environment; /** * Configuration options for Photon SDK * @param domain The Auth0 domain * @param clientId A client_id of Auth0 client credentials * @param redirectURI A url to redirect to after login * @param organization An id of an organization to login as * @param audience The top-level domain of the Photon API * @param uri The GraphQL endpoint of the Photon API */ export interface PhotonClientOptions { domain?: string; clientId: string; redirectURI?: string; env?: Environment; organization?: string; audience?: string; connection?: string; uri?: string; developmentMode?: boolean; } export declare class PhotonClient { organization?: string; private audience?; /** * The GraphQL endpoint of the "legacy" Photon API * */ private uri?; /** * The GraphQL endpoint of Service's clinical API * */ private clinicalApiUri?; /** * The clinical app url */ clinicalUrl?: string; private auth0Client; /** * Authentication functionality of the SDK */ authentication: AuthManager; /** * Clinical API functionality of the SDK */ clinical: ClinicalQueryManager; /** * Management API functionality of the SDK */ management: ManagementQueryManager; /** * Apollo client instance */ apollo: ApolloClient | ApolloClient; /** * Apollo client services instance */ apolloClinical: ApolloClient | ApolloClient; /** * Constructs a new PhotonSDK instance * @param config - Photon SDK configuration options * @remarks - Note, that organization is optional for scenarios in which a provider supports more than themselves. */ constructor({ domain, clientId, redirectURI, organization, env, audience, connection, uri, developmentMode }: PhotonClientOptions, elementsVersion?: string); private constructApolloClient; /** * Sets the organization ID to use * @returns PhotonSDK */ setOrganization(organizationId: string): this; /** * Clears the organization ID * @returns PhotonSDK */ clearOrganization(): this; }