import { AuthenticationServicePromiseClient } from './authentication/authentication_grpc_web_pb'; import { EventServicePromiseClient } from './event/event_grpc_web_pb'; import { EchoServicePromiseClient } from './echo/echo_grpc_web_pb'; import { CatalogServicePromiseClient } from './catalog/catalog_grpc_web_pb'; import { FileServicePromiseClient } from './file/file_grpc_web_pb'; import { LdapServicePromiseClient } from './ldap/ldap_grpc_web_pb'; import { PersistenceServicePromiseClient } from './persistence/persistence_grpc_web_pb'; import { MailServicePromiseClient } from './mail/mail_grpc_web_pb'; import { SpcServicePromiseClient } from './spc/spc_grpc_web_pb'; import { SqlServicePromiseClient } from './sql/sql_grpc_web_pb'; import { StorageServicePromiseClient } from './storage/storage_grpc_web_pb'; import { MonitoringServicePromiseClient } from './monitoring/monitoring_grpc_web_pb'; import { SearchServicePromiseClient } from './search/search_grpc_web_pb'; import { AdminServicePromiseClient } from './admin/admin_grpc_web_pb'; import { ResourceServicePromiseClient } from './resource/resource_grpc_web_pb'; import { RbacServicePromiseClient } from './rbac/rbac_grpc_web_pb'; import { LogServicePromiseClient } from './log/log_grpc_web_pb'; import { ConversationServicePromiseClient } from './conversation/conversation_grpc_web_pb'; import { ConfigServicePromiseClient } from './config_manager/config_grpc_web_pb'; import { BlogServicePromiseClient } from './blog/blog_grpc_web_pb'; import { ServicesManagerServicePromiseClient } from './services_manager/services_manager_grpc_web_pb'; import { ApplicationManagerServicePromiseClient } from './applications_manager/applications_manager_grpc_web_pb'; import { PackageDiscoveryPromiseClient } from './discovery/discovery_grpc_web_pb'; import { PackageRepositoryPromiseClient } from './repository/repository_grpc_web_pb'; import { TitleServicePromiseClient } from './title/title_grpc_web_pb'; import { TorrentServicePromiseClient } from './torrent/torrent_grpc_web_pb'; /** * The service configuration information. */ export interface IServiceConfig { Id: string; Name: string; Mac: string; State: string; Domain: string; Port: number; Proxy: number; TLS: boolean; KeepUpToDate: boolean; KeepAlive: boolean; PublisherId: string; Version: string; Description: string; Keywords: Array; Discoveries: Array; Repositories: Array; Proto: String; Path: string; CertAuthorityTrust: string; CertFile: string; KeyFile: string; } /** * Define a map of services. */ export interface IServices { [key: string]: IServiceConfig; } export interface IPeer { Domain: string; Mac: string; Port: number; } /** * The application server informations. */ export interface IConfig { Name: string; Mac: string; Domain: string; PortHttp: number; PortHttps: number; BackendPort: number; AdminEmail: string; SessionTimeout: number; Protocol: string; Discoveries: string[]; DNS: string[]; CertExpirationDelay: number; CertStableURL: string; CertURL: string; IdleTimeout: number; IndexApplication: string; Root: string; WebRoot: string; Public: string[]; AlternateDomains: string[]; Path: string; DataPath: string; ConfigPath: string; Vesion: string; Platform: string; Services: IServices; Peers: IPeer[]; } /** * That local and distant event hub. */ export declare class EventHub { private globular; private subscribers; private uuid; private refs; /** * @param {*} service If undefined only local event will be allow. */ constructor(g: Globular); removeDeletedListeners(): void; reinitRemoteListeners(): void; /** Connect to the remote server. */ connect(callback: () => void): void; /** * * @param {*} name The name of the event to subcribe to. * @param {*} onsubscribe That function return the uuid of the subscriber. * @param {*} onevent That function is call when the event is use. * @param local if true means the event run localy, true by default * @param ref The reference to the object that subscribe to this event... */ subscribe(name: string, onsubscribe: (uuid: string) => any, onevent: (data: any) => any, local?: boolean, ref?: any): void; /** * * @param {*} name * @param {*} uuid */ unSubscribe(name: string, uuid: string): void; /** * Publish an event on the bus, or locally in case of local event. * @param {*} name The name of the event to publish * @param {*} data The data associated with the event * @param {*} local If the event is not local the data must be seraliaze before sent. */ publish(name: string, data: any, local: boolean): void; /** Dispatch the event localy */ dispatch(name: string, data: any): void; } /** * Globular regroup all serivces in one object that can be use by * application to get access to sql, ldap, persistence... service. */ export declare class Globular { private _eventHub; private _services; get eventHub(): EventHub; /** The configuation. */ constructor(url: string, callback: () => void, errorcallback: (err: any) => void); private _config; get config(): IConfig; set config(value: IConfig); get domain(): string; /** The admin service to access to other configurations. */ private _adminService; get adminService(): AdminServicePromiseClient | undefined; /** The services manager service */ private _servicesManagerService; get servicesManagerService(): ServicesManagerServicePromiseClient | undefined; /** The application manager service */ private _applicationsManagerService; get applicationsManagerService(): ApplicationManagerServicePromiseClient | undefined; /** The authentication services */ private _authenticationService; get authenticationService(): AuthenticationServicePromiseClient | undefined; /** The resource promise client */ private _resourceService; get resourceService(): ResourceServicePromiseClient | undefined; private _logService; get logService(): LogServicePromiseClient | undefined; private _blogService; get blogService(): BlogServicePromiseClient | undefined; private _conversationService; get conversationService(): ConversationServicePromiseClient | undefined; private _configurationService; get configurationService(): ConfigServicePromiseClient | undefined; private _rbacService; get rbacService(): RbacServicePromiseClient | undefined; private _packagesDicovery; get packagesDicovery(): PackageDiscoveryPromiseClient | undefined; private _servicesRepository; get servicesRepository(): PackageRepositoryPromiseClient | undefined; private _catalogService; get catalogService(): CatalogServicePromiseClient | undefined; private _echoService; get echoService(): EchoServicePromiseClient | undefined; private _eventService; get eventService(): EventServicePromiseClient | undefined; resetEventService(): void; private _fileService; get fileService(): FileServicePromiseClient | undefined; private _ldapService; get ldapService(): LdapServicePromiseClient | undefined; private _persistenceService; get persistenceService(): PersistenceServicePromiseClient | undefined; private _mailService; get mailService(): MailServicePromiseClient | undefined; private _sqlService; get sqlService(): SqlServicePromiseClient | undefined; private _storageService; get storageService(): StorageServicePromiseClient | undefined; private _monitoringService; get monitoringService(): MonitoringServicePromiseClient | undefined; private _spcService; get spcService(): SpcServicePromiseClient | undefined; private _titleService; get titleService(): TitleServicePromiseClient | undefined; private _torrentService; get torrentService(): TorrentServicePromiseClient | undefined; private _searchService; get searchService(): SearchServicePromiseClient | undefined; /** * Return a service instance * @param name The name of the service. * @param id The id of the service. * * as example to get a specific instance of the file services. * globular.getServiceById("file.fileService", "applications") */ getServiceById(name: string, id: string): any; getConfigs(name: string): Array; }