export interface IWindowAdapter {
  // Window variable management
  getWindowVariable(key: string): any;
  setWindowVariable(key: string, value: any): void;
  deleteWindowVariable(key: string): void;
  hasWindowVariable(key: string): boolean;
  
  // Result key generation
  generateResultKey(sessionLabel: string, prefix?: string): string;
  
  // Variable monitoring
  watchWindowVariable(key: string, callback: (value: any) => void): () => void;
  waitForWindowVariable(key: string, timeoutMs?: number): Promise<any>;
  
  // Cleanup
  clearAllSessionVariables(prefix?: string): void;
  getSessionVariableKeys(prefix?: string): string[];
}
