UNPKG

userorbit-js

Version:

Userorbit js allows you to connect your application to Userorbit, display announcements, roadmap, collect feedback, show product tours, and more.

52 lines (40 loc) 1.46 kB
import { z } from 'zod'; declare type TJsConfigInput = z.infer<typeof ZJsConfigInput>; declare type TJsTrackProperties = z.infer<typeof ZJsTrackProperties>; declare type TUserorbitApp = typeof userorbit; declare const userorbit: { init: (initConfig: TJsConfigInput) => Promise<void>; setEmail: (email: string) => Promise<void>; setAttribute: (key: string, value: any) => Promise<void>; track: (name: string, properties?: TJsTrackProperties) => Promise<void>; logout: () => Promise<void>; reset: () => Promise<void>; registerRouteChange: () => Promise<void>; getApi: () => (url: string, body: any) => Promise<any>; }; declare const userorbitApp: TUserorbitApp; export default userorbitApp; declare const ZJsConfigInput = z.object({ accountId: z.string().cuid2(), apiHost: z.string(), errorHandler: z.function().args(z.any()).returns(z.void()).optional(), widgetMountSelector: z.string().optional(), userId: z.string().optional(), email: z.string().optional(), name: z.string().optional(), attributes: z.record(z.string()).optional(), widget: z .object({ theme: z.string().optional(), }) .optional(), }); declare const ZJsTrackProperties = z.object({ hiddenFields: ZResponseHiddenFieldValue.optional(), }); export { } declare global { interface Window { userorbit: TUserorbitApp | undefined; } }