import { BillPayApprovalRuleWithUser, RemiApprovalRuleWithUser } from '@zeniai/client-epic-state'; /** * Shared shape across the two product-specific selectors. Same alias * used in ApprovalRuleSection / FallbackEngineBanner. We accept the * full `WithUser` shape (not just a structural subset) because the * card renders steps with resolved user names. */ export type ApprovalRuleWithUser = BillPayApprovalRuleWithUser | RemiApprovalRuleWithUser; /** * Approval Rules 3.0 — per-rule overlap row inside RuleOverlapBanner. * * Renders the conflicting rule almost identically to the list-page * card (ApprovalRuleSection): name + Priority pill + optional SoD * pill on the right, description below, then 'When:' chips and * 'Then:' step list. The kebab + edit/delete actions are intentionally * omitted — the Edit Existing Rule CTA lives at the banner level and * acts on the rule that this card represents. * * The chip / step rendering is duplicated from ApprovalRuleSection * rather than extracted to a shared file: the two surfaces have * different surrounding chrome and the helpers are small. If a third * consumer ever needs them, extract at that point. */ export interface RuleOverlapCardProps { departmentNamesById: Record; rule: ApprovalRuleWithUser; vendorNamesById: Record; dataTestId?: string; } declare const RuleOverlapCard: ({ rule, vendorNamesById, departmentNamesById, dataTestId, }: RuleOverlapCardProps) => import("react/jsx-runtime").JSX.Element; export default RuleOverlapCard;