// --- Puerto (interfaz) para resolver tasas desde un catálogo ---

import { Maybe } from "@repo/rdx-utils"; // Usa tu implementación real de Maybe
import { TaxCatalogType, TaxItemType, TaxLookupItems } from "./tax-catalog-types";

export interface TaxCatalogProvider {
  /**
   * Busca un item del catálogo por su código.
   * Debe considerar normalización del 'code' según las reglas del catálogo.
   */
  findByCode(code: string): Maybe<TaxItemType>;

  // devuelve el catálogo completo como array
  getAll(): TaxCatalogType;

  toOptionLookup(): TaxLookupItems;

  groups(): string[]; //Devuelve una lista con los grupos
}
