import { IdentifyAnalyticsEventDTO, TrackAnalyticsEventDTO } from "./mutations"; export type ProviderTrackAnalyticsEventDTO = TrackAnalyticsEventDTO; export type ProviderIdentifyAnalyticsEventDTO = IdentifyAnalyticsEventDTO; export interface IAnalyticsProvider { /** * This method is used to track an event in the analytics provider * * @param {ProviderTrackAnalyticsEventDTO} data - The data for the event. * @returns {Promise} Resolves when the event is tracked successfully. * */ track(data: ProviderTrackAnalyticsEventDTO): Promise; /** * This method is used to identify an actor or group in the analytics provider * * @param {ProviderIdentifyAnalyticsEventDTO} data - The data for the actor or group.. * @returns {Promise} Resolves when the event is tracked successfully. * */ identify(data: ProviderIdentifyAnalyticsEventDTO): Promise; /** * This method is used to shutdown the analytics provider, and flush all data before shutting down. * * This method is called by the Analytics Module when the Medusa application is shutting down. * * @returns {Promise} Resolves when the provider is shutdown successfully. * * @example * class MyAnalyticsProviderService extends AbstractAnalyticsProviderService { * // ... * async shutdown(): Promise { * // perform any cleanup or shutdown logic * // in the analytics provider or using custom logic * // for example: * await this.client.shutdown() * } * } */ shutdown?(): Promise; } //# sourceMappingURL=provider.d.ts.map