1- const Replicate = require ( "./lib/replicate" ) ;
1+ const ReplicateClass = require ( "./lib/replicate" ) ;
22const ApiError = require ( "./lib/error" ) ;
3+ require ( "./lib/types" ) ;
34
45/**
56 * Placeholder class used to warn of deprecated constructor.
67 * @deprecated use exported Replicate class instead
78 */
8- class DeprecatedReplicate extends Replicate {
9+ class DeprecatedReplicate extends ReplicateClass {
910 /** @deprecated Use `import { Replicate } from "replicate";` instead */
1011 // biome-ignore lint/complexity/noUselessConstructor: exists for the tsdoc comment
1112 constructor ( ...args ) {
1213 super ( ...args ) ;
1314 }
1415}
1516
16- const named = { ApiError, Replicate } ;
17- const singleton = new Replicate ( ) ;
17+ const named = { ApiError, Replicate : ReplicateClass } ;
18+ const singleton = new ReplicateClass ( ) ;
1819
1920/**
2021 * Default instance of the Replicate class that gets the access token
@@ -48,7 +49,7 @@ const singleton = new Replicate();
4849 * const client = new Replicate({...});
4950 * ```
5051 *
51- * @type { Replicate & typeof DeprecatedReplicate & {ApiError: ApiError, Replicate: Replicate } }
52+ * @type { Replicate & typeof DeprecatedReplicate & {Replicate: typeof ReplicateClass } }
5253 */
5354const replicate = new Proxy ( DeprecatedReplicate , {
5455 get ( target , prop , receiver ) {
@@ -70,3 +71,26 @@ const replicate = new Proxy(DeprecatedReplicate, {
7071} ) ;
7172
7273module . exports = replicate ;
74+
75+ // - Type Definitions
76+
77+ /**
78+ * @typedef {import("./lib/replicate") } Replicate
79+ * @typedef {import("./lib/error") } ApiError
80+ * @typedef {typeof import("./lib/types").Collection } Collection
81+ * @typedef {typeof import("./lib/types").ModelVersion } ModelVersion
82+ * @typedef {typeof import("./lib/types").Hardware } Hardware
83+ * @typedef {typeof import("./lib/types").Model } Model
84+ * @typedef {typeof import("./lib/types").Prediction } Prediction
85+ * @typedef {typeof import("./lib/types").Training } Training
86+ * @typedef {typeof import("./lib/types").ServerSentEvent } ServerSentEvent
87+ * @typedef {typeof import("./lib/types").Status } Status
88+ * @typedef {typeof import("./lib/types").Visibility } Visibility
89+ * @typedef {typeof import("./lib/types").WebhookEventType } WebhookEventType
90+ */
91+
92+ /**
93+ * @template T
94+ * @typedef {typeof import("./lib/types").Page } Page
95+ */
96+
0 commit comments