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<CardPolicyListRowProps>;
export default CardPolicyListRow;
