@ztimson/momentum
Version:
Client library for momentum
61 lines • 2.28 kB
TypeScript
import { Http, HttpRequestOptions, IPathEventEmitter, PromiseProgress } from '@ztimson/utils';
import { Momentum } from './momentum';
/** Overall Momentum health */
export type Health = {
/** Momentum status */
readonly status: 'offline' | 'ok' | 'degraded' | 'error';
/** Actions module */
readonly actions: ModuleStatus;
/** AI module */
readonly ai: ModuleStatus;
/** Database module */
readonly database: ModuleStatus;
/** Email module */
readonly email: ModuleStatus;
/** Payments module */
readonly payments: ModuleStatus;
/** Phone module */
readonly phone: ModuleStatus;
/** WebRTC TURN server */
readonly webrtc: ModuleStatus;
/** Version number */
readonly version: string;
/** Last commit */
readonly commit: string;
/** Cluster nodes */
readonly cluster?: string[];
/** Uptime in seconds */
readonly uptime?: number;
};
/** Momentum module status */
export type ModuleStatus = 'disabled' | 'ok' | 'warn' | 'error';
/** Create API requests */
export declare class Api extends Http implements IPathEventEmitter {
private momentum;
private emitter;
private pending;
private storageKey;
get sameOrigin(): boolean;
private _token;
/** Current API token */
get token(): string | null;
set token(token: string | null);
constructor(momentum: Momentum);
emit: (event: import('@ztimson/utils').Event, ...args: any[]) => void;
off: (listener: import('@ztimson/utils').PathListener) => void;
on: (event: import('@ztimson/utils').Event | import('@ztimson/utils').Event[], listener: import('@ztimson/utils').PathListener) => import('@ztimson/utils').PathUnsubscribe;
once: (event: import('@ztimson/utils').Event | import('@ztimson/utils').Event[], listener?: import('@ztimson/utils').PathListener) => Promise<any>;
relayEvents: (emitter: IPathEventEmitter) => void;
/**
* Fetch current Momentum status
* @return {Promise<Health>}
*/
healthcheck(): Promise<Health>;
/**
* Create API request
* @param {HttpRequestOptions} options Request options
* @return {Promise} Response
*/
request<T>(options: HttpRequestOptions): PromiseProgress<T>;
}
//# sourceMappingURL=api.d.ts.map