export interface FileEntry {
  name: string;
  path: string;
  isDirectory: boolean;
  isExpanded?: boolean;
  children?: FileEntry[];
  isLoading?: boolean;
}

export interface EditorTab {
  id: string;
  filePath: string;
  fileName: string;
  content: string;
  originalContent: string;
  isDirty: boolean;
  language: string;
}

export interface EditorState {
  tabs: EditorTab[];
  activeTabId: string | null;
  isFileBrowserOpen: boolean;
  currentDirectory: string;
  fileTree: FileEntry[];
  isLoadingTree: boolean;
}
