export class BaseProvider {
  constructor(config = {}) {
    this.config = config;
    this.enabled = false;
  }

  async initialize() {
    throw new Error('initialize() must be implemented by subclass');
  }

  trackPageView(data) {
    if (!this.enabled) return;
    throw new Error('trackPageView() must be implemented by subclass');
  }

  trackEvent(eventName, eventData) {
    if (!this.enabled) return;
    throw new Error('trackEvent() must be implemented by subclass');
  }

  setUserId(userId) {
    if (!this.enabled) return;
    throw new Error('setUserId() must be implemented by subclass');
  }

  destroy() {
    // Optional cleanup, subclasses can override
  }
}
