/**
 * Generate analytics dashboard HTML
 */
export declare function getAnalyticsDashboardHtml(mostViewed: Array<{ componentId: string, viewCount: number }>, mostChangedProps: Array<{ propName: string, changeCount: number }>): string;
/**
 * Generate analytics styles
 */
export declare function getAnalyticsStyles(): string;
/**
 * Analytics event
 */
export declare interface AnalyticsEvent {
  type: AnalyticsEventType
  timestamp: number
  componentId?: string
  variantId?: string
  propName?: string
  query?: string
  metadata?: Record<string, any>
}
/**
 * Component analytics summary
 */
export declare interface ComponentAnalytics {
  componentId: string
  componentName: string
  viewCount: number
  uniqueViews: number
  lastViewed?: number
  propChanges: Record<string, number>
  topChangedProps: string[]
  variantViews: Record<string, number>
  avgTimeSpent: number
}
/**
 * Analytics storage
 */
export declare interface AnalyticsStorage {
  version: number
  events: AnalyticsEvent[]
  sessions: AnalyticsSession[]
}
/**
 * Analytics session
 */
export declare interface AnalyticsSession {
  id: string
  startTime: number
  endTime?: number
  componentViews: string[]
}
/**
 * Analytics event types
 */
export type AnalyticsEventType = | 'view'
  | 'prop_change'
  | 'variant_switch'
  | 'search'
  | 'bookmark'
  | 'copy_code'
  | 'test_run';
/**
 * Analytics tracker
 */
export declare class AnalyticsTracker {
  constructor(rootDir: string);
  save(): Promise<void>;
  startSession(): void;
  endSession(): void;
  track(event: Omit<AnalyticsEvent, 'timestamp'>): void;
  trackView(componentId: string, variantId?: string): void;
  trackPropChange(componentId: string, propName: string, value: any): void;
  trackVariantSwitch(componentId: string, variantId: string): void;
  trackSearch(query: string, resultCount: number): void;
  getComponentAnalytics(componentId: string, componentName: string): ComponentAnalytics;
  getMostViewedComponents(limit?: number): Array<{ componentId: string, viewCount: number }>;
  getMostChangedProps(limit?: number): Array<{ propName: string, changeCount: number }>;
  getSearchAnalytics(): {
    totalSearches: number
    topQueries: Array<{ query: string, count: number }>
    avgResultCount: number
  };
  clear(): void;
  exportAnalytics(): string;
}
