import { GitStatus } from "../publicTypes.js";
import { FileTreeContextMenuButtonVisibility, FileTreeContextMenuTriggerMode, FileTreeVisibleRow } from "../model/publicTypes.js";
import { FileTreeRowClickMode } from "./rowClickPlan.js";

//#region src/render/rowAttributes.d.ts
type FileTreeRowStateFlags = {
  isFocusRinged: boolean;
  isContextHovered: boolean;
  isDragTarget: boolean;
  isDragging: boolean;
  effectiveGitStatus: GitStatus | null;
  containsGitChange: boolean;
};
type FileTreeRowFeatureFlags = {
  contextMenuEnabled: boolean;
  actionLaneEnabled: boolean;
  contextMenuButtonVisibility: FileTreeContextMenuButtonVisibility | null;
  contextMenuTriggerMode: FileTreeContextMenuTriggerMode | null;
  gitLaneActive: boolean;
};
type FileTreeRowElementAttributesInput = {
  row: FileTreeVisibleRow;
  mode: FileTreeRowClickMode;
  targetPath: string;
  ariaLabel: string;
  domId: string | undefined;
  isParked: boolean;
  itemHeight: number;
  features: FileTreeRowFeatureFlags;
  state: FileTreeRowStateFlags;
  extraStyle?: Record<string, string | undefined>;
};
declare function computeFileTreeRowElementAttributes(input: FileTreeRowElementAttributesInput): Record<string, unknown>;
//#endregion
export { FileTreeRowElementAttributesInput, FileTreeRowFeatureFlags, FileTreeRowStateFlags, computeFileTreeRowElementAttributes };
//# sourceMappingURL=rowAttributes.d.ts.map