import { OnInit } from '@angular/core'; import { MatIconRegistry } from '@angular/material/icon'; import { DomSanitizer } from '@angular/platform-browser'; import { ContractFeeTier, PaymentMethod, Tier } from './payment-fees.model'; import * as i0 from "@angular/core"; /** * Component for displaying payment fees organized by country, payment method, and tier levels. * * @description * This component renders a comprehensive view of payment fees with the following structure: * - Groups fees by country * - Within each country, groups by payment method * - Within each method, displays fee tiers with fixed amounts and percentage rates * - Shows whether fees apply to merchant or client side * * @example * ```html * * ``` */ export declare class PaymentFeesComponent implements OnInit { private matIconRegistry; private domSanitizer; /** * Array of contract fee tiers organized by country, payment method, and tier level. * @type {ContractFeeTier[]} */ data: ContractFeeTier[]; /** * Columns to display in the fee tier tables. * @type {string[]} */ displayedColumns: string[]; /** * SVG icon representing merchant-side fees (store/shop icon). * @private * @readonly */ private readonly MERCHANT_FEE_ICON; /** * SVG icon representing client-side fees (group of people icon). * @private * @readonly */ private readonly CLIENT_FEE_ICON; /** * Creates an instance of PaymentFeesComponent. * * @param {MatIconRegistry} matIconRegistry - Service for registering custom SVG icons * @param {DomSanitizer} domSanitizer - Service for sanitizing HTML/SVG content */ constructor(matIconRegistry: MatIconRegistry, domSanitizer: DomSanitizer); /** * Lifecycle hook that is called after Angular has initialized all data-bound properties. * Registers custom SVG icons for merchant and client fees. * * @returns {void} */ ngOnInit(): void; /** * Registers custom SVG icons for merchant and client fees with Angular Material's icon registry. * Handles errors gracefully by logging warnings if registration fails. * * @private * @returns {void} */ private registerIcons; /** * Converts a country code to its human-readable country name. * * @param {string} code - ISO 3166-1 alpha-2 country code (e.g., 'US', 'BR', 'MX') * @returns {string} The localized country name in English, or the original code if conversion fails * * @example * getCountryName('US') // Returns: 'United States' * getCountryName('BR') // Returns: 'Brazil' * getCountryName('INVALID') // Returns: 'INVALID' */ getCountryName(code: string): string; /** * Formats a payment method code into a human-readable label. * * @param {string} method - Payment method code (e.g., 'CREDITCARD', 'PIX', 'BOLETO') * @returns {string} The formatted payment method name, or the original code if no mapping exists * * @example * formatMethodName('CREDITCARD') // Returns: 'Credit Card' * formatMethodName('PIX') // Returns: 'PIX' * formatMethodName('UNKNOWN') // Returns: 'UNKNOWN' */ formatMethodName(method: string): string; /** * Returns a tooltip text explaining whether a fee applies to the merchant or client side. * * @param {boolean} isMerchantFee - True if the fee is charged to the merchant, false if charged to the client * @returns {string} Tooltip text describing who pays the fee * * @example * feeTooltip(true) // Returns: 'This fee is on the Merchant side' * feeTooltip(false) // Returns: 'This fee is on the Client side' */ feeTooltip(isMerchantFee: boolean): string; /** * TrackBy function for Angular's ngFor to optimize rendering of country items. * Helps Angular identify which items have changed, been added, or removed. * * @param {number} index - The index of the item in the array * @param {ContractFeeTier} country - The contract fee tier object representing a country * @returns {string} A unique identifier combining index and country code */ trackByCountry(index: number, country: ContractFeeTier): string; /** * TrackBy function for Angular's ngFor to optimize rendering of payment method items. * Helps Angular identify which items have changed, been added, or removed. * * @param {number} _ - The index of the item (unused) * @param {PaymentMethod} method - The payment method object * @returns {string} A unique identifier using the method's name */ trackByMethod(_: number, method: PaymentMethod): string; /** * TrackBy function for Angular's ngFor to optimize rendering of fee tier items. * Helps Angular identify which items have changed, been added, or removed. * * @param {number} _ - The index of the item (unused) * @param {Tier} tier - The tier object containing fee information * @returns {number} A unique identifier using the tier's level */ trackByTier(_: number, tier: Tier): number; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }