/**
 * Copyright IBM Corp. 2024, 2025
 */

import { TreeEntry } from "./tree-entry.model.js";

interface MoveFileHandle extends FileSystemFileHandle {
    move: (name: FileSystemDirectoryHandle | null) => Promise<void> | void;
}
type ProjectFileSystemHandle =
    | FileSystemDirectoryHandle
    | FileSystemFileHandle
    | MoveFileHandle
    | null;
export type FileEntry = {
    id?: string;
    name: string;
    handle: ProjectFileSystemHandle;
    isDirectory: boolean;
    isExpanded?: boolean;
    isVCSFile?: boolean;
    treeEntry?: TreeEntry;
};
