import type { ClonableMixin } from "../../core/Clonable.js";
import type { JSONSupport } from "../../core/JSONSupport.js";

/** @since 5.0 */
export interface AttributeTableFieldOrderProperties extends Partial<Pick<AttributeTableFieldOrder, "field" | "order">> {}

/**
 * This object sets a field and sort order for how records display within the table.
 *
 * @since 5.0
 */
export default class AttributeTableFieldOrder extends AttributeTableFieldOrderSuperclass {
  constructor(properties?: AttributeTableFieldOrderProperties);
  /**
   * Name of a field. The value of this field will drive the sorting.
   *
   * @since 5.0
   */
  accessor field: string | null | undefined;
  /**
   * Indicates whether features are sorted in ascending or descending order of the field values.
   *
   * @since 5.0
   */
  accessor order: "asc" | "desc" | null | undefined;
}
declare const AttributeTableFieldOrderSuperclass: typeof JSONSupport & typeof ClonableMixin