···11+interface Rybbit {
22+ /**
33+ * Tracks a page view
44+ */
55+ pageview: () => void;
66+77+ /**
88+ * Tracks a custom event
99+ * @param name Name of the event
1010+ * @param properties Optional properties for the event
1111+ */
1212+ event: (name: string, properties?: Record<string, any>) => void;
1313+1414+ /**
1515+ * Sets a custom user ID for tracking logged-in users
1616+ * @param userId The user ID to set (will be stored in localStorage)
1717+ */
1818+ identify: (userId: string) => void;
1919+2020+ /**
2121+ * Clears the stored user ID
2222+ */
2323+ clearUserId: () => void;
2424+2525+ /**
2626+ * Gets the currently set user ID
2727+ * @returns The current user ID or null if not set
2828+ */
2929+ getUserId: () => string | null;
3030+3131+ /**
3232+ * Manually tracks outbound link clicks
3333+ * @param url The URL of the outbound link
3434+ * @param text Optional text content of the link
3535+ * @param target Optional target attribute of the link
3636+ */
3737+ trackOutbound: (url: string, text?: string, target?: string) => void;
3838+}
3939+4040+declare global {
4141+ interface Window {
4242+ rybbit: Rybbit;
4343+ }
4444+}
4545+4646+export {};