import { default as React } from 'react'; export type CardPolicyListRowMode = "strict" | "flexible"; /** * View-model rendered by the host screen onto the list. The host derives this * from `CardPolicyTemplate` (entity slice) so the component stays purely * presentational and testable in isolation. */ export interface CardPolicyListRowViewModel { cardsCount: number; categoryRestrictionsCount: number; createdAtFormatted: string; description: string; mode: CardPolicyListRowMode; name: string; templateId: string; vendorRestrictionsCount: number; } export interface CardPolicyListRowProps extends CardPolicyListRowViewModel { className?: string; /** Disable the icon buttons + dim the row while archive is in-flight. */ isArchiving?: boolean; style?: React.CSSProperties; /** Invoked when the user clicks the trash icon (immediate archive). */ onArchiveClick: (templateId: string) => void; /** Invoked when the user clicks the pencil icon. */ onEditClick: (templateId: string) => void; } /** * Single Card Policy row in the list — name + mode badge + edit/archive icon * buttons across the header, description below, and a footer line summarizing * created date and applied counts. Stays presentational; the host screen owns * navigation and dispatches the archive action. */ declare const CardPolicyListRow: React.FC; export default CardPolicyListRow;