diff --git a/packages/use-analytics/index.d.ts b/packages/use-analytics/index.d.ts
new file mode 100644
index 00000000..54aacf79
--- /dev/null
+++ b/packages/use-analytics/index.d.ts
@@ -0,0 +1,19 @@
+declare module 'use-analytics' {
+ import type { ComponentType, Context, FC, ReactNode } from 'react';
+ import type { AnalyticsInstance } from 'analytics';
+
+ export function withAnalytics
(Component: ComponentType
): FC
;
+
+ export function useAnalytics(): AnalyticsInstance;
+ export function useTrack(): AnalyticsInstance['track'];
+ export function usePage(): AnalyticsInstance['page'];
+ export function useIdentify(): AnalyticsInstance['identify'];
+
+ export const AnalyticsConsumer: Context['Consumer'];
+ export const AnalyticsContext: Context;
+
+ export function AnalyticsProvider(props: {
+ instance: AnalyticsInstance;
+ children: ReactNode;
+ }): JSX.Element;
+}
diff --git a/packages/use-analytics/package.json b/packages/use-analytics/package.json
index 40f9cc24..6e97c899 100644
--- a/packages/use-analytics/package.json
+++ b/packages/use-analytics/package.json
@@ -10,6 +10,7 @@
"url": "git+https://github.com/DavidWells/analytics.git"
},
"main": "dist/index.js",
+ "types": "index.d.ts",
"module": "dist/index.modern.js",
"source": "src/index.js",
"engines": {
@@ -27,14 +28,16 @@
"tiny-invariant": "^1.1.0"
},
"peerDependencies": {
- "react": ">=16"
+ "react": ">=16",
+ "analytics": "^0.5.2"
},
"devDependencies": {
"@babel/plugin-proposal-decorators": "^7.8.3",
"babel-eslint": "^10.0.3"
},
"files": [
- "dist"
+ "dist",
+ "index.d.ts"
],
"keywords": [
"analytics",