import type { ReorderExecutionContext, ReorderOperation } from "./types.js";
/**
 * Base class for all reorder operations.
 * Provides abstract methods for operation detection and execution.
 */
export declare abstract class BaseReorderOperation {
  abstract readonly operationType: string;
  /**
   * Detects if this operation can handle the given context.
   */
  abstract detectOperation(ctx: ReorderExecutionContext): ReorderOperation | null;
  /**
   * Executes the detected operation.
   */
  abstract executeOperation(operation: ReorderOperation, ctx: ReorderExecutionContext): Promise<void> | void;
}
/**
 * Executor class for handling row reorder operations in grouped data grids.
 *
 * This class coordinates the execution of different reorder operation types,
 * trying each operation in order until one succeeds or all fail.
 */
export declare class RowReorderExecutor {
  private operations;
  constructor(operations: BaseReorderOperation[]);
  execute(ctx: ReorderExecutionContext): Promise<void>;
}