UNPKG

crisp-api

Version:

Crisp API wrapper for Node - official, maintained by Crisp

152 lines (147 loc) 4.43 kB
export = Crisp; /** * Crisp API Library * @class * @classdesc This is the Crisp Library. Handles REST and RTM operations */ declare function Crisp(): void; declare class Crisp { /** * @public * @type {*} */ public bucket: any; /** * @public * @type {*} */ public media: any; /** * @public * @type {*} */ public plugin: any; /** * @public * @type {*} */ public website: any; /** * @public * @type {object} */ public auth: object; /** * @private * @type {object} */ private _rest; /** * @private * @type {object} */ private _rtm; /** * @private * @type {string} */ private _useragent; /** * @private * @type {object} */ private _emitter; /** * @private * @type {object|null} */ private _socket; /** * @private * @type {object|null} */ private _loopback; /** * @private * @type {number|null} */ private _lastEventRebind; /** * @private * @type {object|null} */ private _brokerScheduler; /** * @private * @type {Array} */ private _brokerBindHooks; /** * @private * @type {object} */ private _boundEvents; setRestHost: (host: string) => undefined; setRtmHost: (host: string) => undefined; setRtmMode: (mode: string) => undefined; setTier: (tier: string) => undefined; authenticate: (identifier: string, key: string) => undefined; authenticateTier: (tier: string, identifier: string, key: string) => undefined; head: (resource: string, query: object, body: object) => Promise<any>; get: (resource: string, query: object) => Promise<any>; post: (resource: string, query: object, body: object) => Promise<any>; patch: (resource: string, query: object, body: object) => Promise<any>; put: (resource: string, query: object, body: object) => Promise<any>; delete: (resource: string, query: object, body: object) => Promise<any>; on: (event: string, callback: Function) => Promise<any>; receiveHook: (body: object) => undefined; verifyHook: (secret: string, body: object, timestamp: string, signature: string) => boolean; verifyWidget: (secret: string, body: object, timestamp: string, signature: string) => boolean; rebindSocket: () => Promise<any>; _prepareRestUrl: (paths: any[]) => string; _prepareServices: () => undefined; _prepareResources: (serviceMap: object, resources: any[]) => undefined; _prepareBroker: (fnBindHook: Function) => Promise<any>; _connectLoopback: () => Promise<any>; _connectSocket: (rtmHostOverride: string) => Promise<any>; _emitAuthenticateSocket: () => undefined; _unstackBrokerBindHooks: (modeInstance: object) => undefined; _request: (resource: string, method: string, query: object, body: object, resolve: Function, reject: Function) => undefined; _readErrorResponseReason: (method: string, statusCode: number, response: object) => string; _verifySignature: (secret: string, body: object, timestamp: string, signature: string) => boolean; } declare namespace RTM_MODES { let WebSockets: string; let WebHooks: string; } declare namespace Crisp { import DEFAULT_RTM_MODE = RTM_MODES.WebSockets; export { RTM_MODES, AVAILABLE_RTM_MODES, DEFAULT_REQUEST_TIMEOUT, DEFAULT_SOCKET_TIMEOUT, DEFAULT_SOCKET_RECONNECT_DELAY, DEFAULT_SOCKET_RECONNECT_DELAY_MAX, DEFAULT_SOCKET_RECONNECT_FACTOR, DEFAULT_BROKER_SCHEDULE, DEFAULT_EVENT_REBIND_INTERVAL_MIN, DEFAULT_USERAGENT_PREFIX, DEFAULT_REST_HOST, DEFAULT_REST_BASE_PATH, DEFAULT_RTM_MODE, DEFAULT_RTM_EVENTS, Crisp }; } declare var AVAILABLE_RTM_MODES: string[]; declare var DEFAULT_REQUEST_TIMEOUT: number; declare var DEFAULT_SOCKET_TIMEOUT: number; declare var DEFAULT_SOCKET_RECONNECT_DELAY: number; declare var DEFAULT_SOCKET_RECONNECT_DELAY_MAX: number; declare var DEFAULT_SOCKET_RECONNECT_FACTOR: number; declare var DEFAULT_BROKER_SCHEDULE: number; declare var DEFAULT_EVENT_REBIND_INTERVAL_MIN: number; declare var DEFAULT_USERAGENT_PREFIX: string; declare var DEFAULT_REST_HOST: string; declare var DEFAULT_REST_BASE_PATH: string; declare var DEFAULT_RTM_EVENTS: string[];