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
TypeScript
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;
}
}