import type { ReorderValidationContext as Ctx } from "./models.js";
/**
 * Reusable validation conditions for row reordering validation
 */
export declare const commonReorderConditions: {
  isGroupToGroup: (ctx: Ctx) => boolean;
  isLeafToLeaf: (ctx: Ctx) => boolean;
  isLeafToGroup: (ctx: Ctx) => boolean;
  isGroupToLeaf: (ctx: Ctx) => boolean;
  isDropAbove: (ctx: Ctx) => boolean;
  isDropBelow: (ctx: Ctx) => boolean;
  sameDepth: (ctx: Ctx) => boolean;
  sourceDepthGreater: (ctx: Ctx) => boolean;
  targetDepthIsSourceMinusOne: (ctx: Ctx) => boolean;
  sameParent: (ctx: Ctx) => boolean;
  targetGroupExpanded: (ctx: Ctx) => boolean;
  targetGroupCollapsed: (ctx: Ctx) => boolean;
  hasPrevNode: (ctx: Ctx) => boolean;
  hasNextNode: (ctx: Ctx) => boolean;
  prevIsLeaf: (ctx: Ctx) => boolean;
  prevIsGroup: (ctx: Ctx) => boolean;
  nextIsLeaf: (ctx: Ctx) => boolean;
  nextIsGroup: (ctx: Ctx) => boolean;
  prevDepthEquals: (ctx: Ctx, depth: number) => boolean;
  prevDepthEqualsSource: (ctx: Ctx) => boolean;
  prevBelongsToSource: (ctx: Ctx) => boolean;
  isAdjacentPosition: (ctx: Ctx) => boolean;
  targetFirstChildIsGroupWithSourceDepth: (ctx: Ctx) => boolean;
  targetFirstChildDepthEqualsSource: (ctx: Ctx) => boolean;
};