export type RuleEngineResourceSlug =
  | "cargo-types"
  | "container-types"
  | "wagon-types"
  | "truck-types"
  | "priority-configs"
  | "service-types"
  | "weight-limit-rules"
  | "yards"
  | "yard-distances"
  | "shipping-lines"
  | "rates"
  | "approval-rules";

/**
 * Mirrors the API's shared `PaginationMeta` (@edr/types). The `has*` flags are
 * optional because the legacy wagon-types endpoint still returns the old
 * four-field meta.
 */
export interface RuleEngineListMeta {
  total: number;
  page: number;
  pageSize: number;
  totalPages: number;
  hasNextPage?: boolean;
  hasPreviousPage?: boolean;
}

/** Standard paginated envelope (`items` + `meta`) shared by all rule-engine lists. */
export interface RuleEngineListResult<T> {
  items: T[];
  meta: RuleEngineListMeta;
}

export type RuleEngineRecord = Record<string, unknown> & { id: string };
