/**
 * Common TypeScript types for the Hero Vault Extension
 */

// React types
export type SyntheticEvent<T = Element, E = Event> = React.BaseSyntheticEvent<E, EventTarget & T, EventTarget>;

// Session types
export interface SessionActivity {
  timestamp: number;
  action: string;
  details?: string;
}

// Script types
export interface ScriptResult {
  id: string;
  script: string;
  result: string;
  timestamp: number;
  success: boolean;
}

export interface PendingScript {
  id: string;
  name: string;
  script: string;
}

// WebSocket types
export interface ConnectionHistory {
  id: string;
  url: string;
  timestamp: number;
  status: 'connected' | 'disconnected' | 'error';
  message?: string;
}

// Settings types
export interface Settings {
  darkMode: boolean;
  autoLockTimeout: number;
  defaultKeyType: string;
  showScriptNotifications: boolean;
}
