import { CsHttpService } from './core/http-service/interface'; import { CsGroupService } from './services/group/interface'; import { CsContentService } from './services/content/interface'; import { CsFrameworkService } from './services/framework/interface'; import { CsLocationService } from './services/location/interface'; import { CsCourseService } from './services/course/interface'; import { CsUserService } from './services/user/interface'; import { CsFormService, FormParams } from './services/form/interface/cs-form-service'; import { CsSystemSettingsService } from './services/system-settings/interface'; import { CsClientStorage } from './core/cs-client-storage'; import { CsDiscussionService } from './services/discussion'; import { CsNotificationService } from './services/notification/interface/cs-notification-service'; import { CsCertificateService } from './services/certificate'; import { Framework } from './models'; export interface CsDiscussionServiceConfig { apiPath: string; } export interface CsSystemSettingsServiceConfig { apiPath: string; } export interface CsUserServiceConfig { apiPath: string; } export interface CsGroupServiceConfig { apiPath: string; dataApiPath: string; updateGroupGuidelinesApiPath?: string; } export interface CsContentServiceConfig { hierarchyApiPath: string; questionListApiPath: string; } export interface CsFrameworkServiceConfig { apiPath: string; } export interface CsLocationServiceConfig { apiPath: string; } export interface CsCourseServiceConfig { apiPath: string; certRegistrationApiPath?: string; } export interface CsFormServiceConfig { apiPath: string; } export interface CsNotificationServiceConfig { apiPath: string; } export interface CsCertificateServiceConfig { apiPath: string; apiPathLegacy?: string; rcApiPath: string; } export interface CsCertificateServiceConfig { apiPath: string; apiPathLegacy?: string; rcApiPath: string; } export interface CsFrameworkConfig { apiPath: string; framework?: Framework; } export interface CsFormConfig { apiPath: string; params?: FormParams; } export interface CsConfig { core: { httpAdapter?: 'HttpClientBrowserAdapter' | 'HttpClientCordovaAdapter'; global: { channelId?: string; producerId?: string; deviceId?: string; sessionId?: string; appVersion?: string; }; api: { host: string; authentication: { userToken?: string; managedUserToken?: string; bearerToken?: string; }; }; }; services: { userServiceConfig?: CsUserServiceConfig; groupServiceConfig?: CsGroupServiceConfig; frameworkServiceConfig?: CsFrameworkServiceConfig; locationServiceConfig?: CsLocationServiceConfig; courseServiceConfig?: CsCourseServiceConfig; formServiceConfig?: CsFormServiceConfig; systemSettingsServiceConfig?: CsSystemSettingsServiceConfig; discussionServiceConfig?: CsDiscussionServiceConfig; contentServiceConfig?: CsContentServiceConfig; notificationServiceConfig?: CsNotificationServiceConfig; certificateServiceConfig?: CsCertificateServiceConfig; }; } export declare class CsModule { private _container; private onUpdateConfigCallback?; static _instance?: CsModule; static get instance(): CsModule; private _isInitialised; get isInitialised(): boolean; private _config; get config(): CsConfig; get httpService(): CsHttpService; get groupService(): CsGroupService; get contentService(): CsContentService; get frameworkService(): CsFrameworkService; get locationService(): CsLocationService; get courseService(): CsCourseService; get userService(): CsUserService; get formService(): CsFormService; get systemSettingsService(): CsSystemSettingsService; get discussionService(): CsDiscussionService; get notificationService(): CsNotificationService; get certificateService(): CsCertificateService; init(config: CsConfig, onConfigUpdate?: () => void, clientStorage?: CsClientStorage): Promise; updateConfig(config: CsConfig): void; updateAuthTokenConfig(accessToken: string): void; }