import { SVGProps, JSX } from 'react';
import { F as FlatComponents } from './index-yy2JTezw.mjs';
import { F as FlatRoundedComponents } from './index-hQZR3SBL.mjs';
import { L as LogoComponents } from './index-CxsO2XsD.mjs';
import { L as LogoBorderComponents } from './index-a6oTohSW.mjs';
import { M as MonoComponents } from './index-6VsS_APU.mjs';
import { M as MonoOutlineComponents } from './index-BBybqGQ3.mjs';
import './Alipay-Fciy41cp.mjs';
import './AmericanExpress-BPyT-KW-.mjs';
import './DinersClub-CCidJzjk.mjs';
import './Discover-CRDqswZc.mjs';
import './Elo-O-KoZROz.mjs';
import './Generic-B-lCTXSh.mjs';
import './Hipercard-DV1AkwpF.mjs';
import './JCB-BVE6fAtF.mjs';
import './Maestro-CK68kYa2.mjs';
import './Mastercard-BAbqwp5C.mjs';
import './Mir-37zRPQsi.mjs';
import './PayPal-Bc7GMZot.mjs';
import './Swish-DiwlHXcn.mjs';
import './UnionPay-BKtojwLB.mjs';
import './Visa-ka9Sv-HM.mjs';
import './Alipay-BJip3pLO.mjs';
import './AmericanExpress-CWe5nD5D.mjs';
import './DinersClub-LHd6apm5.mjs';
import './Discover-I2HLQ1yG.mjs';
import './Elo-BWQsVqSz.mjs';
import './Generic-DfZ_oYfU.mjs';
import './Hipercard-B9cXokP7.mjs';
import './JCB-B0uppMG4.mjs';
import './Maestro-D_GkEmS9.mjs';
import './Mastercard-B_CVe6zP.mjs';
import './Mir-Bc5e3Jt3.mjs';
import './PayPal-Bah2fuBQ.mjs';
import './Swish-D56i9qPh.mjs';
import './UnionPay-Beks5wNA.mjs';
import './Visa-BT0mKNdz.mjs';
import './Alipay-DYfARbH-.mjs';
import './AmericanExpress-DlANfikA.mjs';
import './DinersClub-C-8V6FGd.mjs';
import './Discover-mzFpNWA8.mjs';
import './Elo-DGfGDqzM.mjs';
import './Generic-DEiQi3jr.mjs';
import './Hipercard-w0SWWsu1.mjs';
import './JCB--wmAM598.mjs';
import './Maestro-BhTmGRXb.mjs';
import './Mastercard-C4_GTREy.mjs';
import './Mir-DU8GZb1Z.mjs';
import './PayPal-B3ZkXTJy.mjs';
import './Swish-Da_aIved.mjs';
import './UnionPay-C8Lrfwvx.mjs';
import './Visa-i8VVLgVl.mjs';
import './Alipay-BHGOFoLj.mjs';
import './AmericanExpress-bx0F_Qgu.mjs';
import './DinersClub-DSjLYGYw.mjs';
import './Discover-Cdoh8pht.mjs';
import './Elo--troFn19.mjs';
import './Generic-DBR-99nV.mjs';
import './Hipercard-C56aR6yJ.mjs';
import './JCB-Doq86yN3.mjs';
import './Maestro-Bv2wnzYl.mjs';
import './Mastercard-BKPkbDE5.mjs';
import './Mir-CXI0KZdL.mjs';
import './PayPal-BSiDNqY0.mjs';
import './Swish-DPQxnrrt.mjs';
import './UnionPay-DAKdW8_L.mjs';
import './Visa-DYeUwEfb.mjs';
import './Alipay-CwB7CyXh.mjs';
import './AmericanExpress-BqUDWbaK.mjs';
import './DinersClub-D_ExmUvQ.mjs';
import './Discover-DqdLYNSX.mjs';
import './Elo-BKWuH6LF.mjs';
import './Generic-DeMwgS0c.mjs';
import './Hipercard-dwrukHez.mjs';
import './JCB-CoyjVGvC.mjs';
import './Maestro-CTYjtPgK.mjs';
import './Mastercard-Cpd43jAR.mjs';
import './Mir-uAVksAUl.mjs';
import './PayPal-jnBwITz9.mjs';
import './Swish-BYcW_-84.mjs';
import './UnionPay-CePwiyFM.mjs';
import './Visa-Ddre649H.mjs';
import './Alipay-CKSxoDKz.mjs';
import './AmericanExpress-DyjlAAKl.mjs';
import './DinersClub-BsYwNb3V.mjs';
import './Discover-Dk23-QRE.mjs';
import './Elo-6zNlKMs8.mjs';
import './Generic-DQlmfjw-.mjs';
import './Hipercard-DOaEVH1Q.mjs';
import './JCB-BXEC4zM2.mjs';
import './Maestro-CsrSJAx6.mjs';
import './Mastercard-DaRBh_u7.mjs';
import './Mir-BMLJMGLg.mjs';
import './PayPal-D4_-FTbh.mjs';
import './Swish-CewpqtsU.mjs';
import './UnionPay-CuRxz_Hh.mjs';
import './Visa-CjdIhFbp.mjs';

/**
 * Canonical card type names (excludes aliases).
 * These are the actual type values returned by detectCardType().
 */
type CanonicalCardType = "Alipay" | "AmericanExpress" | "DinersClub" | "Discover" | "Elo" | "Generic" | "Hipercard" | "JCB" | "Maestro" | "Mastercard" | "Mir" | "PayPal" | "Swish" | "UnionPay" | "Visa";

/**
 * Removes all non-digit characters from a card number (spaces, dashes, etc.).
 *
 * @param cardNumber - Card number string, formatted or unformatted
 * @returns String containing only numeric digits
 * @example
 * sanitizeCardNumber('4242 4242 4242 4242')  // '4242424242424242'
 * sanitizeCardNumber('4242-4242-4242-4242')  // '4242424242424242'
 */
declare function sanitizeCardNumber(cardNumber: string): string;
/**
 * Detects card type by testing against regex patterns for each card type.
 *
 * For partial card numbers (< 13 digits), tests prefix compatibility.
 * For complete card numbers, validates against full patterns.
 *
 * Returns 'Generic' for unknown or invalid cards.
 *
 * This is the recommended function for card type detection, returning canonical type names
 * (AmericanExpress, DinersClub, UnionPay, PayPal, JCB).
 *
 * @param cardNumber - Card number (formatted or unformatted)
 * @returns Detected card type name with canonical casing
 * @example
 * getCardType('4242424242424242')        // 'Visa'
 * getCardType('5555 5555 5555 4444')     // 'Mastercard'
 * getCardType('3782 822463 10005')       // 'AmericanExpress'
 * getCardType('30569309025904')          // 'DinersClub'
 * getCardType('6200000000000005')        // 'UnionPay'
 * getCardType('3566002020360505')        // 'JCB'
 */
declare function getCardType(cardNumber: string): PaymentType;
/**
 * Detects card type by testing against regex patterns for each card type.
 *
 * @deprecated Use `getCardType()` instead. This function is maintained for backward compatibility and returns legacy v4.x type names.
 * @param cardNumber - Card number (formatted or unformatted)
 * @returns Detected card type name (legacy v4.x format: 'Americanexpress', 'Diners', etc.)
 * @example
 * detectCardType('4242424242424242')     // 'Visa'
 * detectCardType('5555 5555 5555 4444')  // 'Mastercard'
 * detectCardType('3782 822463 10005')    // 'Americanexpress' (legacy)
 * detectCardType('30569309025904')       // 'Diners' (legacy)
 */
declare function detectCardType(cardNumber: string): PaymentType;
/**
 * Validates card number using Luhn algorithm (mod-10 checksum) and length check (13-19 digits).
 *
 * Note: Only validates mathematical correctness, not whether the card is active or funded.
 *
 * @param cardNumber - Card number (formatted or unformatted)
 * @returns true if valid, false otherwise
 * @example
 * validateCardNumber('4242424242424242')  // true
 * validateCardNumber('4242424242424243')  // false (invalid checksum)
 * validateCardNumber('123')               // false (too short)
 * @see https://en.wikipedia.org/wiki/Luhn_algorithm
 */
declare function validateCardNumber(cardNumber: string): boolean;
/**
 * Formats a card number with appropriate spacing for the detected card type.
 *
 * This function automatically detects the card type and applies the industry-standard
 * spacing format for that card brand. Formatting patterns are defined in the card's YAML configuration:
 * - American Express: 4-6-5 format (e.g., "3782 822463 10005")
 * - Diners Club: 4-6-4 for 14-digit, 4-4-4-4 for 16-digit (e.g., "3056 930902 5904" or "3056 9300 0902 0004")
 * - Most others (Visa, Mastercard, etc.): 4-4-4-4 format (e.g., "4242 4242 4242 4242")
 *
 * @param cardNumber - The card number to format (can be formatted or unformatted)
 * @returns The card number formatted with appropriate spacing
 *
 * @example
 * ```ts
 * formatCardNumber('4242424242424242')       // Returns: '4242 4242 4242 4242' (Visa)
 * formatCardNumber('378282246310005')        // Returns: '3782 822463 10005' (Amex)
 * formatCardNumber('30569309025904')         // Returns: '3056 930902 5904' (Diners 14-digit)
 * formatCardNumber('3056930009020004')       // Returns: '3056 9300 0902 0004' (Diners 16-digit)
 * formatCardNumber('5555555555554444')       // Returns: '5555 5555 5555 4444' (Mastercard)
 * formatCardNumber('4242 4242 4242 4242')    // Returns: '4242 4242 4242 4242' (already formatted)
 * ```
 *
 * @remarks
 * - Input is automatically sanitized, so pre-formatted numbers are handled correctly
 * - The format is determined by the detected card type's YAML configuration
 * - Partial card numbers will be formatted as much as possible
 * - For variable-length cards (e.g., Diners Club), format varies by actual card length
 */
declare function formatCardNumber(cardNumber: string): string;
/**
 * Validates that a card number matches a specific card type and passes Luhn validation.
 *
 * This function performs two checks:
 * 1. Verifies the card number matches the expected patterns for the specified card type
 * 2. Validates the card number passes Luhn algorithm checksum verification
 *
 * This is useful when you need to validate a card number against a specific expected type,
 * such as when a user explicitly selects a card brand or when enforcing payment method restrictions.
 *
 * @param cardNumber - The card number to validate (can be formatted or unformatted)
 * @param cardType - The specific payment type to validate against
 * @returns `true` if the card number matches the type and passes validation, `false` otherwise
 *
 * @example
 * ```ts
 * validateCardForType('4242424242424242', 'Visa')          // Returns: true
 * validateCardForType('4242424242424242', 'Mastercard')    // Returns: false (wrong type)
 * validateCardForType('4242424242424243', 'Visa')          // Returns: false (invalid Luhn)
 * validateCardForType('5555555555554444', 'Mastercard')    // Returns: true
 * validateCardForType('378282246310005', 'Americanexpress') // Returns: true
 * validateCardForType('', 'Paypal')                        // Returns: false (Paypal has no card numbers)
 * ```
 *
 * @remarks
 * - Returns `false` for non-card payment methods like PayPal, Alipay, etc.
 * - Both pattern matching AND Luhn validation must pass for `true` result
 * - Input is automatically sanitized before validation
 */
declare function validateCardForType(cardNumber: string, cardType: PaymentType): boolean;
/**
 * Gets the expected length range (in digits) for a specific card type.
 *
 * Different card issuers use different card number lengths. This function returns the
 * valid minimum and maximum length for a given card type, which is useful for:
 * - Input validation and masking
 * - Determining when a user has finished entering a card number
 * - Setting maxLength attributes on input fields
 * - Progressive validation during card entry
 *
 * @param cardType - The payment type to get length information for
 * @returns An object with `min` and `max` properties, or `null` for non-card payment methods
 *
 * @example
 * ```ts
 * getCardLengthRange('Visa')           // Returns: { min: 13, max: 19 }
 * getCardLengthRange('Mastercard')     // Returns: { min: 16, max: 16 }
 * getCardLengthRange('Americanexpress') // Returns: { min: 15, max: 15 }
 * getCardLengthRange('Maestro')        // Returns: { min: 12, max: 19 }
 * getCardLengthRange('Paypal')         // Returns: null (not a card)
 * getCardLengthRange('Generic')        // Returns: null (unknown type)
 * ```
 *
 * @remarks
 * - Returns `null` for non-card payment methods (PayPal, Alipay, Swish, etc.)
 * - Most modern cards use 16 digits, but historical cards and some issuers vary
 * - Visa can range from 13-19 digits depending on the product
 * - Maestro has the widest range at 12-19 digits
 */
declare function getCardLengthRange(cardType: PaymentType): {
    min: number;
    max: number;
} | null;
/**
 * Checks if a card number is potentially valid based on length requirements.
 *
 * This function performs a quick, non-destructive check to determine if a card number
 * COULD be valid based solely on its length for the detected card type. It's useful for:
 * - Real-time validation feedback as users type
 * - Enabling/disabling submit buttons progressively
 * - Showing validation indicators during card entry
 * - Pre-validation before making expensive API calls
 *
 * Unlike `validateCardNumber()`, this does NOT perform Luhn algorithm validation,
 * making it faster and suitable for real-time input validation.
 *
 * @param cardNumber - The card number to check (can be formatted or unformatted)
 * @returns `true` if the card number length is valid for its detected type, `false` otherwise
 *
 * @example
 * ```ts
 * isCardNumberPotentiallyValid('4242')           // Returns: false (too short for Visa)
 * isCardNumberPotentiallyValid('424242424242')   // Returns: true (valid length for Visa)
 * isCardNumberPotentiallyValid('4242424242424242') // Returns: true (valid length)
 * isCardNumberPotentiallyValid('42424242424242424242') // Returns: false (too long)
 * isCardNumberPotentiallyValid('3782 822463 10005')    // Returns: true (valid Amex length)
 * ```
 *
 * @remarks
 * - This is a length-only check and does NOT validate Luhn algorithm
 * - Useful for progressive validation during user input
 * - Returns `false` for non-card payment types (PayPal, Alipay, etc.)
 * - Consider using `validateCardNumber()` for final validation before submission
 */
declare function isCardNumberPotentiallyValid(cardNumber: string): boolean;
/**
 * Creates a masked version of a card number, showing only the last 4 digits.
 *
 * This function obscures all but the last 4 digits of a card number for security purposes.
 * The masked output maintains the appropriate spacing format for the detected card type,
 * making it suitable for display in receipts, payment forms, and transaction history.
 *
 * This follows PCI DSS (Payment Card Industry Data Security Standard) guidelines which
 * allow displaying up to the first 6 and last 4 digits of a card number.
 *
 * @param cardNumber - The card number to mask (can be formatted or unformatted)
 * @param maskChar - The character to use for masking (default: '*')
 * @returns The masked card number with appropriate formatting
 *
 * @example
 * ```ts
 * maskCardNumber('4242424242424242')              // Returns: '**** **** **** 4242'
 * maskCardNumber('4242424242424242', '•')         // Returns: '•••• •••• •••• 4242'
 * maskCardNumber('378282246310005')               // Returns: '**** ****** *0005' (Amex format)
 * maskCardNumber('5555 5555 5555 4444')           // Returns: '**** **** **** 4444'
 * maskCardNumber('4242424242424242', 'X')         // Returns: 'XXXX XXXX XXXX 4242'
 * maskCardNumber('123')                           // Returns: '123' (too short to mask)
 * ```
 *
 * @remarks
 * - Only the last 4 digits are visible, all others are masked
 * - Formatting matches the card type (Amex uses 4-6-5, others use 4-4-4-4, etc.)
 * - If the card number has fewer than 4 digits, it's returned as-is without masking
 * - Input is automatically sanitized before masking
 *
 * @see {@link https://www.pcisecuritystandards.org | PCI Security Standards}
 */
declare function maskCardNumber(cardNumber: string, maskChar?: string): string;
/**
 * Gets a list of card types issued in a specific country/region.
 *
 * This function filters payment cards by their issuing country using ISO 3166-1 alpha-2
 * country codes. It's useful for displaying region-specific payment options or validating
 * cards based on geographic restrictions.
 *
 * @param countryCode - ISO 3166-1 alpha-2 country code (e.g., 'US', 'BR', 'CN', 'JP'), or 'GLOBAL' to get all globally available cards
 * @param options - Optional configuration
 * @param options.includeGlobal - Include globally issued cards (Visa, Mastercard, PayPal, etc.) in results (default: true)
 * @returns Array of canonical card type names issued in the specified country
 *
 * @example
 * ```ts
 * getCardsByCountry('BR')  // Returns: ['Elo', 'Hipercard', 'Visa', 'Mastercard', ...] (includes global)
 * getCardsByCountry('BR', { includeGlobal: false })  // Returns: ['Elo', 'Hipercard']
 * getCardsByCountry('US')  // Returns: ['AmericanExpress', 'Discover', 'DinersClub', 'Visa', ...]
 * getCardsByCountry('CN')  // Returns: ['Unionpay', 'Alipay', 'Visa', 'Mastercard', ...]
 * getCardsByCountry('JP')  // Returns: ['Jcb', 'Visa', 'Mastercard', ...]
 * getCardsByCountry('RU')  // Returns: ['Mir', 'Visa', 'Mastercard', ...]
 * getCardsByCountry('SE')  // Returns: ['Swish', 'Visa', 'Mastercard', ...]
 * getCardsByCountry('GLOBAL')  // Returns: ['Alipay', 'Maestro', 'Mastercard', 'Paypal', 'Visa']
 * ```
 *
 * @remarks
 * - Country codes must be two-letter uppercase ISO 3166-1 alpha-2 format or 'GLOBAL'
 * - 'GLOBAL' in metadata indicates cards available worldwide (Visa, Mastercard, PayPal, etc.)
 * - `null` in metadata indicates placeholder/generic types (excluded from all results)
 * - By default, globally issued cards are included in all country queries
 * - Set `includeGlobal: false` to only get region-specific cards
 *
 * @see {@link https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 | ISO 3166-1 alpha-2 country codes}
 */
declare function getCardsByCountry(countryCode: string, options?: {
    includeGlobal?: boolean;
}): CanonicalCardType[];

declare const AVAILABLE_FORMATS: readonly ["flat", "flatRounded", "logo", "logoBorder", "mono", "monoOutline"];
/**
 * Alipay payment icon with dynamic format selection.
 *
 * @param format - Icon style format: 'flat', 'flatRounded', 'logo', 'logoBorder', 'mono', 'monoOutline'
 * @param props - Standard SVG element props
 * @returns React component rendering the Alipay icon in the specified format
 *
 * @example
 * ```tsx
 * import { AlipayIcon } from 'react-svg-credit-card-payment-icons';
 *
 * <AlipayIcon format="flat" />
 * <AlipayIcon format="flatRounded" width={100} />
 * ```
 */
declare function AlipayIcon({ format, ...props }: {
    format?: 'flat' | 'flatRounded' | 'logo' | 'logoBorder' | 'mono' | 'monoOutline';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Alipay Flat icon.
 * @alias Alipay from 'react-svg-credit-card-payment-icons/icons/flat'
 */
declare function AlipayFlatIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Alipay FlatRounded icon.
 * @alias Alipay from 'react-svg-credit-card-payment-icons/icons/flat-rounded'
 */
declare function AlipayFlatRoundedIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Alipay Logo icon.
 * @alias Alipay from 'react-svg-credit-card-payment-icons/icons/logo'
 */
declare function AlipayLogoIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Alipay LogoBorder icon.
 * @alias Alipay from 'react-svg-credit-card-payment-icons/icons/logo-border'
 */
declare function AlipayLogoBorderIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Alipay Mono icon.
 * @alias Alipay from 'react-svg-credit-card-payment-icons/icons/mono'
 */
declare function AlipayMonoIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Alipay MonoOutline icon.
 * @alias Alipay from 'react-svg-credit-card-payment-icons/icons/mono-outline'
 */
declare function AlipayMonoOutlineIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * AmericanExpress payment icon with dynamic format selection.
 *
 * @param format - Icon style format: 'flat', 'flatRounded', 'logo', 'logoBorder', 'mono', 'monoOutline'
 * @param props - Standard SVG element props
 * @returns React component rendering the AmericanExpress icon in the specified format
 *
 * @example
 * ```tsx
 * import { AmericanExpressIcon } from 'react-svg-credit-card-payment-icons';
 *
 * <AmericanExpressIcon format="flat" />
 * <AmericanExpressIcon format="flatRounded" width={100} />
 * ```
 */
declare function AmericanExpressIcon({ format, ...props }: {
    format?: 'flat' | 'flatRounded' | 'logo' | 'logoBorder' | 'mono' | 'monoOutline';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * AmericanExpress Flat icon.
 * @alias AmericanExpress from 'react-svg-credit-card-payment-icons/icons/flat'
 */
declare function AmericanExpressFlatIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * AmericanExpress FlatRounded icon.
 * @alias AmericanExpress from 'react-svg-credit-card-payment-icons/icons/flat-rounded'
 */
declare function AmericanExpressFlatRoundedIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * AmericanExpress Logo icon.
 * @alias AmericanExpress from 'react-svg-credit-card-payment-icons/icons/logo'
 */
declare function AmericanExpressLogoIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * AmericanExpress LogoBorder icon.
 * @alias AmericanExpress from 'react-svg-credit-card-payment-icons/icons/logo-border'
 */
declare function AmericanExpressLogoBorderIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * AmericanExpress Mono icon.
 * @alias AmericanExpress from 'react-svg-credit-card-payment-icons/icons/mono'
 */
declare function AmericanExpressMonoIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * AmericanExpress MonoOutline icon.
 * @alias AmericanExpress from 'react-svg-credit-card-payment-icons/icons/mono-outline'
 */
declare function AmericanExpressMonoOutlineIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/** @alias AmericanExpressIcon */
declare function AmericanexpressIcon(props: {
    format?: 'flat' | 'flatRounded' | 'logo' | 'logoBorder' | 'mono' | 'monoOutline';
} & SVGProps<SVGSVGElement>): JSX.Element;
/** @alias AmericanExpressIcon */
declare function AmexIcon(props: {
    format?: 'flat' | 'flatRounded' | 'logo' | 'logoBorder' | 'mono' | 'monoOutline';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * DinersClub payment icon with dynamic format selection.
 *
 * @param format - Icon style format: 'flat', 'flatRounded', 'logo', 'logoBorder', 'mono', 'monoOutline'
 * @param props - Standard SVG element props
 * @returns React component rendering the DinersClub icon in the specified format
 *
 * @example
 * ```tsx
 * import { DinersClubIcon } from 'react-svg-credit-card-payment-icons';
 *
 * <DinersClubIcon format="flat" />
 * <DinersClubIcon format="flatRounded" width={100} />
 * ```
 */
declare function DinersClubIcon({ format, ...props }: {
    format?: 'flat' | 'flatRounded' | 'logo' | 'logoBorder' | 'mono' | 'monoOutline';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * DinersClub Flat icon.
 * @alias DinersClub from 'react-svg-credit-card-payment-icons/icons/flat'
 */
declare function DinersClubFlatIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * DinersClub FlatRounded icon.
 * @alias DinersClub from 'react-svg-credit-card-payment-icons/icons/flat-rounded'
 */
declare function DinersClubFlatRoundedIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * DinersClub Logo icon.
 * @alias DinersClub from 'react-svg-credit-card-payment-icons/icons/logo'
 */
declare function DinersClubLogoIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * DinersClub LogoBorder icon.
 * @alias DinersClub from 'react-svg-credit-card-payment-icons/icons/logo-border'
 */
declare function DinersClubLogoBorderIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * DinersClub Mono icon.
 * @alias DinersClub from 'react-svg-credit-card-payment-icons/icons/mono'
 */
declare function DinersClubMonoIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * DinersClub MonoOutline icon.
 * @alias DinersClub from 'react-svg-credit-card-payment-icons/icons/mono-outline'
 */
declare function DinersClubMonoOutlineIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/** @alias DinersClubIcon */
declare function DinersIcon(props: {
    format?: 'flat' | 'flatRounded' | 'logo' | 'logoBorder' | 'mono' | 'monoOutline';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Discover payment icon with dynamic format selection.
 *
 * @param format - Icon style format: 'flat', 'flatRounded', 'logo', 'logoBorder', 'mono', 'monoOutline'
 * @param props - Standard SVG element props
 * @returns React component rendering the Discover icon in the specified format
 *
 * @example
 * ```tsx
 * import { DiscoverIcon } from 'react-svg-credit-card-payment-icons';
 *
 * <DiscoverIcon format="flat" />
 * <DiscoverIcon format="flatRounded" width={100} />
 * ```
 */
declare function DiscoverIcon({ format, ...props }: {
    format?: 'flat' | 'flatRounded' | 'logo' | 'logoBorder' | 'mono' | 'monoOutline';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Discover Flat icon.
 * @alias Discover from 'react-svg-credit-card-payment-icons/icons/flat'
 */
declare function DiscoverFlatIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Discover FlatRounded icon.
 * @alias Discover from 'react-svg-credit-card-payment-icons/icons/flat-rounded'
 */
declare function DiscoverFlatRoundedIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Discover Logo icon.
 * @alias Discover from 'react-svg-credit-card-payment-icons/icons/logo'
 */
declare function DiscoverLogoIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Discover LogoBorder icon.
 * @alias Discover from 'react-svg-credit-card-payment-icons/icons/logo-border'
 */
declare function DiscoverLogoBorderIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Discover Mono icon.
 * @alias Discover from 'react-svg-credit-card-payment-icons/icons/mono'
 */
declare function DiscoverMonoIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Discover MonoOutline icon.
 * @alias Discover from 'react-svg-credit-card-payment-icons/icons/mono-outline'
 */
declare function DiscoverMonoOutlineIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Elo payment icon with dynamic format selection.
 *
 * @param format - Icon style format: 'flat', 'flatRounded', 'logo', 'logoBorder', 'mono', 'monoOutline'
 * @param props - Standard SVG element props
 * @returns React component rendering the Elo icon in the specified format
 *
 * @example
 * ```tsx
 * import { EloIcon } from 'react-svg-credit-card-payment-icons';
 *
 * <EloIcon format="flat" />
 * <EloIcon format="flatRounded" width={100} />
 * ```
 */
declare function EloIcon({ format, ...props }: {
    format?: 'flat' | 'flatRounded' | 'logo' | 'logoBorder' | 'mono' | 'monoOutline';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Elo Flat icon.
 * @alias Elo from 'react-svg-credit-card-payment-icons/icons/flat'
 */
declare function EloFlatIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Elo FlatRounded icon.
 * @alias Elo from 'react-svg-credit-card-payment-icons/icons/flat-rounded'
 */
declare function EloFlatRoundedIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Elo Logo icon.
 * @alias Elo from 'react-svg-credit-card-payment-icons/icons/logo'
 */
declare function EloLogoIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Elo LogoBorder icon.
 * @alias Elo from 'react-svg-credit-card-payment-icons/icons/logo-border'
 */
declare function EloLogoBorderIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Elo Mono icon.
 * @alias Elo from 'react-svg-credit-card-payment-icons/icons/mono'
 */
declare function EloMonoIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Elo MonoOutline icon.
 * @alias Elo from 'react-svg-credit-card-payment-icons/icons/mono-outline'
 */
declare function EloMonoOutlineIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Generic payment icon with dynamic format selection.
 *
 * @param format - Icon style format: 'flat', 'flatRounded', 'logo', 'logoBorder', 'mono', 'monoOutline'
 * @param props - Standard SVG element props
 * @returns React component rendering the Generic icon in the specified format
 *
 * @example
 * ```tsx
 * import { GenericIcon } from 'react-svg-credit-card-payment-icons';
 *
 * <GenericIcon format="flat" />
 * <GenericIcon format="flatRounded" width={100} />
 * ```
 */
declare function GenericIcon({ format, ...props }: {
    format?: 'flat' | 'flatRounded' | 'logo' | 'logoBorder' | 'mono' | 'monoOutline';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Generic Flat icon with optional variant selection.
 * @param variant - Optional variant: Code, CodeFront
 * @alias Generic from 'react-svg-credit-card-payment-icons/icons/flat'
 */
declare function GenericFlatIcon({ variant, ...props }: {
    variant?: 'Code' | 'CodeFront';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Generic FlatRounded icon with optional variant selection.
 * @param variant - Optional variant: Code, CodeFront
 * @alias Generic from 'react-svg-credit-card-payment-icons/icons/flat-rounded'
 */
declare function GenericFlatRoundedIcon({ variant, ...props }: {
    variant?: 'Code' | 'CodeFront';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Generic Logo icon with optional variant selection.
 * @param variant - Optional variant: Code, CodeFront
 * @alias Generic from 'react-svg-credit-card-payment-icons/icons/logo'
 */
declare function GenericLogoIcon({ variant, ...props }: {
    variant?: 'Code' | 'CodeFront';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Generic LogoBorder icon with optional variant selection.
 * @param variant - Optional variant: Code, CodeFront
 * @alias Generic from 'react-svg-credit-card-payment-icons/icons/logo-border'
 */
declare function GenericLogoBorderIcon({ variant, ...props }: {
    variant?: 'Code' | 'CodeFront';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Generic Mono icon with optional variant selection.
 * @param variant - Optional variant: Code, CodeFront
 * @alias Generic from 'react-svg-credit-card-payment-icons/icons/mono'
 */
declare function GenericMonoIcon({ variant, ...props }: {
    variant?: 'Code' | 'CodeFront';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Generic MonoOutline icon with optional variant selection.
 * @param variant - Optional variant: Code, CodeFront
 * @alias Generic from 'react-svg-credit-card-payment-icons/icons/mono-outline'
 */
declare function GenericMonoOutlineIcon({ variant, ...props }: {
    variant?: 'Code' | 'CodeFront';
} & SVGProps<SVGSVGElement>): JSX.Element;
/** @alias GenericIcon */
declare function GenericCardIcon(props: {
    format?: 'flat' | 'flatRounded' | 'logo' | 'logoBorder' | 'mono' | 'monoOutline';
} & SVGProps<SVGSVGElement>): JSX.Element;
/** @alias GenericIcon */
declare function GenericCardFrontIcon(props: {
    format?: 'flat' | 'flatRounded' | 'logo' | 'logoBorder' | 'mono' | 'monoOutline';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Code payment icon with dynamic format selection (variant).
 *
 * @param format - Icon style format: 'flat', 'flatRounded', 'logo', 'logoBorder', 'mono', 'monoOutline'
 * @param props - Standard SVG element props
 */
declare function CodeIcon({ format, ...props }: {
    format?: 'flat' | 'flatRounded' | 'logo' | 'logoBorder' | 'mono' | 'monoOutline';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Code Flat icon (variant).
 * @alias Code from 'react-svg-credit-card-payment-icons/icons/flat'
 */
declare function CodeFlatIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Code FlatRounded icon (variant).
 * @alias Code from 'react-svg-credit-card-payment-icons/icons/flat-rounded'
 */
declare function CodeFlatRoundedIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Code Logo icon (variant).
 * @alias Code from 'react-svg-credit-card-payment-icons/icons/logo'
 */
declare function CodeLogoIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Code LogoBorder icon (variant).
 * @alias Code from 'react-svg-credit-card-payment-icons/icons/logo-border'
 */
declare function CodeLogoBorderIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Code Mono icon (variant).
 * @alias Code from 'react-svg-credit-card-payment-icons/icons/mono'
 */
declare function CodeMonoIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Code MonoOutline icon (variant).
 * @alias Code from 'react-svg-credit-card-payment-icons/icons/mono-outline'
 */
declare function CodeMonoOutlineIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * CodeFront payment icon with dynamic format selection (variant).
 *
 * @param format - Icon style format: 'flat', 'flatRounded', 'logo', 'logoBorder', 'mono', 'monoOutline'
 * @param props - Standard SVG element props
 */
declare function CodeFrontIcon({ format, ...props }: {
    format?: 'flat' | 'flatRounded' | 'logo' | 'logoBorder' | 'mono' | 'monoOutline';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * CodeFront Flat icon (variant).
 * @alias CodeFront from 'react-svg-credit-card-payment-icons/icons/flat'
 */
declare function CodeFrontFlatIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * CodeFront FlatRounded icon (variant).
 * @alias CodeFront from 'react-svg-credit-card-payment-icons/icons/flat-rounded'
 */
declare function CodeFrontFlatRoundedIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * CodeFront Logo icon (variant).
 * @alias CodeFront from 'react-svg-credit-card-payment-icons/icons/logo'
 */
declare function CodeFrontLogoIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * CodeFront LogoBorder icon (variant).
 * @alias CodeFront from 'react-svg-credit-card-payment-icons/icons/logo-border'
 */
declare function CodeFrontLogoBorderIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * CodeFront Mono icon (variant).
 * @alias CodeFront from 'react-svg-credit-card-payment-icons/icons/mono'
 */
declare function CodeFrontMonoIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * CodeFront MonoOutline icon (variant).
 * @alias CodeFront from 'react-svg-credit-card-payment-icons/icons/mono-outline'
 */
declare function CodeFrontMonoOutlineIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Hipercard payment icon with dynamic format selection.
 *
 * @param format - Icon style format: 'flat', 'flatRounded', 'logo', 'logoBorder', 'mono', 'monoOutline'
 * @param props - Standard SVG element props
 * @returns React component rendering the Hipercard icon in the specified format
 *
 * @example
 * ```tsx
 * import { HipercardIcon } from 'react-svg-credit-card-payment-icons';
 *
 * <HipercardIcon format="flat" />
 * <HipercardIcon format="flatRounded" width={100} />
 * ```
 */
declare function HipercardIcon({ format, ...props }: {
    format?: 'flat' | 'flatRounded' | 'logo' | 'logoBorder' | 'mono' | 'monoOutline';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Hipercard Flat icon with optional variant selection.
 * @param variant - Optional variant: Hiper
 * @alias Hipercard from 'react-svg-credit-card-payment-icons/icons/flat'
 */
declare function HipercardFlatIcon({ variant, ...props }: {
    variant?: 'Hiper';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Hipercard FlatRounded icon with optional variant selection.
 * @param variant - Optional variant: Hiper
 * @alias Hipercard from 'react-svg-credit-card-payment-icons/icons/flat-rounded'
 */
declare function HipercardFlatRoundedIcon({ variant, ...props }: {
    variant?: 'Hiper';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Hipercard Logo icon with optional variant selection.
 * @param variant - Optional variant: Hiper
 * @alias Hipercard from 'react-svg-credit-card-payment-icons/icons/logo'
 */
declare function HipercardLogoIcon({ variant, ...props }: {
    variant?: 'Hiper';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Hipercard LogoBorder icon with optional variant selection.
 * @param variant - Optional variant: Hiper
 * @alias Hipercard from 'react-svg-credit-card-payment-icons/icons/logo-border'
 */
declare function HipercardLogoBorderIcon({ variant, ...props }: {
    variant?: 'Hiper';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Hipercard Mono icon with optional variant selection.
 * @param variant - Optional variant: Hiper
 * @alias Hipercard from 'react-svg-credit-card-payment-icons/icons/mono'
 */
declare function HipercardMonoIcon({ variant, ...props }: {
    variant?: 'Hiper';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Hipercard MonoOutline icon with optional variant selection.
 * @param variant - Optional variant: Hiper
 * @alias Hipercard from 'react-svg-credit-card-payment-icons/icons/mono-outline'
 */
declare function HipercardMonoOutlineIcon({ variant, ...props }: {
    variant?: 'Hiper';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Hiper payment icon with dynamic format selection (variant).
 *
 * @param format - Icon style format: 'flat', 'flatRounded', 'logo', 'logoBorder', 'mono', 'monoOutline'
 * @param props - Standard SVG element props
 */
declare function HiperIcon({ format, ...props }: {
    format?: 'flat' | 'flatRounded' | 'logo' | 'logoBorder' | 'mono' | 'monoOutline';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Hiper Flat icon (variant).
 * @alias Hiper from 'react-svg-credit-card-payment-icons/icons/flat'
 */
declare function HiperFlatIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Hiper FlatRounded icon (variant).
 * @alias Hiper from 'react-svg-credit-card-payment-icons/icons/flat-rounded'
 */
declare function HiperFlatRoundedIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Hiper Logo icon (variant).
 * @alias Hiper from 'react-svg-credit-card-payment-icons/icons/logo'
 */
declare function HiperLogoIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Hiper LogoBorder icon (variant).
 * @alias Hiper from 'react-svg-credit-card-payment-icons/icons/logo-border'
 */
declare function HiperLogoBorderIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Hiper Mono icon (variant).
 * @alias Hiper from 'react-svg-credit-card-payment-icons/icons/mono'
 */
declare function HiperMonoIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Hiper MonoOutline icon (variant).
 * @alias Hiper from 'react-svg-credit-card-payment-icons/icons/mono-outline'
 */
declare function HiperMonoOutlineIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * JCB payment icon with dynamic format selection.
 *
 * @param format - Icon style format: 'flat', 'flatRounded', 'logo', 'logoBorder', 'mono', 'monoOutline'
 * @param props - Standard SVG element props
 * @returns React component rendering the JCB icon in the specified format
 *
 * @example
 * ```tsx
 * import { JCBIcon } from 'react-svg-credit-card-payment-icons';
 *
 * <JCBIcon format="flat" />
 * <JCBIcon format="flatRounded" width={100} />
 * ```
 */
declare function JCBIcon({ format, ...props }: {
    format?: 'flat' | 'flatRounded' | 'logo' | 'logoBorder' | 'mono' | 'monoOutline';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * JCB Flat icon.
 * @alias JCB from 'react-svg-credit-card-payment-icons/icons/flat'
 */
declare function JCBFlatIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * JCB FlatRounded icon.
 * @alias JCB from 'react-svg-credit-card-payment-icons/icons/flat-rounded'
 */
declare function JCBFlatRoundedIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * JCB Logo icon.
 * @alias JCB from 'react-svg-credit-card-payment-icons/icons/logo'
 */
declare function JCBLogoIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * JCB LogoBorder icon.
 * @alias JCB from 'react-svg-credit-card-payment-icons/icons/logo-border'
 */
declare function JCBLogoBorderIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * JCB Mono icon.
 * @alias JCB from 'react-svg-credit-card-payment-icons/icons/mono'
 */
declare function JCBMonoIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * JCB MonoOutline icon.
 * @alias JCB from 'react-svg-credit-card-payment-icons/icons/mono-outline'
 */
declare function JCBMonoOutlineIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/** @alias JCBIcon */
declare function JcbIcon(props: {
    format?: 'flat' | 'flatRounded' | 'logo' | 'logoBorder' | 'mono' | 'monoOutline';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Maestro payment icon with dynamic format selection.
 *
 * @param format - Icon style format: 'flat', 'flatRounded', 'logo', 'logoBorder', 'mono', 'monoOutline'
 * @param props - Standard SVG element props
 * @returns React component rendering the Maestro icon in the specified format
 *
 * @example
 * ```tsx
 * import { MaestroIcon } from 'react-svg-credit-card-payment-icons';
 *
 * <MaestroIcon format="flat" />
 * <MaestroIcon format="flatRounded" width={100} />
 * ```
 */
declare function MaestroIcon({ format, ...props }: {
    format?: 'flat' | 'flatRounded' | 'logo' | 'logoBorder' | 'mono' | 'monoOutline';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Maestro Flat icon.
 * @alias Maestro from 'react-svg-credit-card-payment-icons/icons/flat'
 */
declare function MaestroFlatIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Maestro FlatRounded icon.
 * @alias Maestro from 'react-svg-credit-card-payment-icons/icons/flat-rounded'
 */
declare function MaestroFlatRoundedIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Maestro Logo icon.
 * @alias Maestro from 'react-svg-credit-card-payment-icons/icons/logo'
 */
declare function MaestroLogoIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Maestro LogoBorder icon.
 * @alias Maestro from 'react-svg-credit-card-payment-icons/icons/logo-border'
 */
declare function MaestroLogoBorderIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Maestro Mono icon.
 * @alias Maestro from 'react-svg-credit-card-payment-icons/icons/mono'
 */
declare function MaestroMonoIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Maestro MonoOutline icon.
 * @alias Maestro from 'react-svg-credit-card-payment-icons/icons/mono-outline'
 */
declare function MaestroMonoOutlineIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Mastercard payment icon with dynamic format selection.
 *
 * @param format - Icon style format: 'flat', 'flatRounded', 'logo', 'logoBorder', 'mono', 'monoOutline'
 * @param props - Standard SVG element props
 * @returns React component rendering the Mastercard icon in the specified format
 *
 * @example
 * ```tsx
 * import { MastercardIcon } from 'react-svg-credit-card-payment-icons';
 *
 * <MastercardIcon format="flat" />
 * <MastercardIcon format="flatRounded" width={100} />
 * ```
 */
declare function MastercardIcon({ format, ...props }: {
    format?: 'flat' | 'flatRounded' | 'logo' | 'logoBorder' | 'mono' | 'monoOutline';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Mastercard Flat icon.
 * @alias Mastercard from 'react-svg-credit-card-payment-icons/icons/flat'
 */
declare function MastercardFlatIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Mastercard FlatRounded icon.
 * @alias Mastercard from 'react-svg-credit-card-payment-icons/icons/flat-rounded'
 */
declare function MastercardFlatRoundedIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Mastercard Logo icon.
 * @alias Mastercard from 'react-svg-credit-card-payment-icons/icons/logo'
 */
declare function MastercardLogoIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Mastercard LogoBorder icon.
 * @alias Mastercard from 'react-svg-credit-card-payment-icons/icons/logo-border'
 */
declare function MastercardLogoBorderIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Mastercard Mono icon.
 * @alias Mastercard from 'react-svg-credit-card-payment-icons/icons/mono'
 */
declare function MastercardMonoIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Mastercard MonoOutline icon.
 * @alias Mastercard from 'react-svg-credit-card-payment-icons/icons/mono-outline'
 */
declare function MastercardMonoOutlineIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Mir payment icon with dynamic format selection.
 *
 * @param format - Icon style format: 'flat', 'flatRounded', 'logo', 'logoBorder', 'mono', 'monoOutline'
 * @param props - Standard SVG element props
 * @returns React component rendering the Mir icon in the specified format
 *
 * @example
 * ```tsx
 * import { MirIcon } from 'react-svg-credit-card-payment-icons';
 *
 * <MirIcon format="flat" />
 * <MirIcon format="flatRounded" width={100} />
 * ```
 */
declare function MirIcon({ format, ...props }: {
    format?: 'flat' | 'flatRounded' | 'logo' | 'logoBorder' | 'mono' | 'monoOutline';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Mir Flat icon.
 * @alias Mir from 'react-svg-credit-card-payment-icons/icons/flat'
 */
declare function MirFlatIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Mir FlatRounded icon.
 * @alias Mir from 'react-svg-credit-card-payment-icons/icons/flat-rounded'
 */
declare function MirFlatRoundedIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Mir Logo icon.
 * @alias Mir from 'react-svg-credit-card-payment-icons/icons/logo'
 */
declare function MirLogoIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Mir LogoBorder icon.
 * @alias Mir from 'react-svg-credit-card-payment-icons/icons/logo-border'
 */
declare function MirLogoBorderIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Mir Mono icon.
 * @alias Mir from 'react-svg-credit-card-payment-icons/icons/mono'
 */
declare function MirMonoIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Mir MonoOutline icon.
 * @alias Mir from 'react-svg-credit-card-payment-icons/icons/mono-outline'
 */
declare function MirMonoOutlineIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * PayPal payment icon with dynamic format selection.
 *
 * @param format - Icon style format: 'flat', 'flatRounded', 'logo', 'logoBorder', 'mono', 'monoOutline'
 * @param props - Standard SVG element props
 * @returns React component rendering the PayPal icon in the specified format
 *
 * @example
 * ```tsx
 * import { PayPalIcon } from 'react-svg-credit-card-payment-icons';
 *
 * <PayPalIcon format="flat" />
 * <PayPalIcon format="flatRounded" width={100} />
 * ```
 */
declare function PayPalIcon({ format, ...props }: {
    format?: 'flat' | 'flatRounded' | 'logo' | 'logoBorder' | 'mono' | 'monoOutline';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * PayPal Flat icon.
 * @alias PayPal from 'react-svg-credit-card-payment-icons/icons/flat'
 */
declare function PayPalFlatIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * PayPal FlatRounded icon.
 * @alias PayPal from 'react-svg-credit-card-payment-icons/icons/flat-rounded'
 */
declare function PayPalFlatRoundedIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * PayPal Logo icon.
 * @alias PayPal from 'react-svg-credit-card-payment-icons/icons/logo'
 */
declare function PayPalLogoIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * PayPal LogoBorder icon.
 * @alias PayPal from 'react-svg-credit-card-payment-icons/icons/logo-border'
 */
declare function PayPalLogoBorderIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * PayPal Mono icon.
 * @alias PayPal from 'react-svg-credit-card-payment-icons/icons/mono'
 */
declare function PayPalMonoIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * PayPal MonoOutline icon.
 * @alias PayPal from 'react-svg-credit-card-payment-icons/icons/mono-outline'
 */
declare function PayPalMonoOutlineIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/** @alias PayPalIcon */
declare function PaypalIcon(props: {
    format?: 'flat' | 'flatRounded' | 'logo' | 'logoBorder' | 'mono' | 'monoOutline';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Swish payment icon with dynamic format selection.
 *
 * @param format - Icon style format: 'flat', 'flatRounded', 'logo', 'logoBorder', 'mono', 'monoOutline'
 * @param props - Standard SVG element props
 * @returns React component rendering the Swish icon in the specified format
 *
 * @example
 * ```tsx
 * import { SwishIcon } from 'react-svg-credit-card-payment-icons';
 *
 * <SwishIcon format="flat" />
 * <SwishIcon format="flatRounded" width={100} />
 * ```
 */
declare function SwishIcon({ format, ...props }: {
    format?: 'flat' | 'flatRounded' | 'logo' | 'logoBorder' | 'mono' | 'monoOutline';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Swish Flat icon.
 * @alias Swish from 'react-svg-credit-card-payment-icons/icons/flat'
 */
declare function SwishFlatIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Swish FlatRounded icon.
 * @alias Swish from 'react-svg-credit-card-payment-icons/icons/flat-rounded'
 */
declare function SwishFlatRoundedIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Swish Logo icon.
 * @alias Swish from 'react-svg-credit-card-payment-icons/icons/logo'
 */
declare function SwishLogoIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Swish LogoBorder icon.
 * @alias Swish from 'react-svg-credit-card-payment-icons/icons/logo-border'
 */
declare function SwishLogoBorderIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Swish Mono icon.
 * @alias Swish from 'react-svg-credit-card-payment-icons/icons/mono'
 */
declare function SwishMonoIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Swish MonoOutline icon.
 * @alias Swish from 'react-svg-credit-card-payment-icons/icons/mono-outline'
 */
declare function SwishMonoOutlineIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * UnionPay payment icon with dynamic format selection.
 *
 * @param format - Icon style format: 'flat', 'flatRounded', 'logo', 'logoBorder', 'mono', 'monoOutline'
 * @param props - Standard SVG element props
 * @returns React component rendering the UnionPay icon in the specified format
 *
 * @example
 * ```tsx
 * import { UnionPayIcon } from 'react-svg-credit-card-payment-icons';
 *
 * <UnionPayIcon format="flat" />
 * <UnionPayIcon format="flatRounded" width={100} />
 * ```
 */
declare function UnionPayIcon({ format, ...props }: {
    format?: 'flat' | 'flatRounded' | 'logo' | 'logoBorder' | 'mono' | 'monoOutline';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * UnionPay Flat icon.
 * @alias UnionPay from 'react-svg-credit-card-payment-icons/icons/flat'
 */
declare function UnionPayFlatIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * UnionPay FlatRounded icon.
 * @alias UnionPay from 'react-svg-credit-card-payment-icons/icons/flat-rounded'
 */
declare function UnionPayFlatRoundedIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * UnionPay Logo icon.
 * @alias UnionPay from 'react-svg-credit-card-payment-icons/icons/logo'
 */
declare function UnionPayLogoIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * UnionPay LogoBorder icon.
 * @alias UnionPay from 'react-svg-credit-card-payment-icons/icons/logo-border'
 */
declare function UnionPayLogoBorderIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * UnionPay Mono icon.
 * @alias UnionPay from 'react-svg-credit-card-payment-icons/icons/mono'
 */
declare function UnionPayMonoIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * UnionPay MonoOutline icon.
 * @alias UnionPay from 'react-svg-credit-card-payment-icons/icons/mono-outline'
 */
declare function UnionPayMonoOutlineIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/** @alias UnionPayIcon */
declare function UnionpayIcon(props: {
    format?: 'flat' | 'flatRounded' | 'logo' | 'logoBorder' | 'mono' | 'monoOutline';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Visa payment icon with dynamic format selection.
 *
 * @param format - Icon style format: 'flat', 'flatRounded', 'logo', 'logoBorder', 'mono', 'monoOutline'
 * @param props - Standard SVG element props
 * @returns React component rendering the Visa icon in the specified format
 *
 * @example
 * ```tsx
 * import { VisaIcon } from 'react-svg-credit-card-payment-icons';
 *
 * <VisaIcon format="flat" />
 * <VisaIcon format="flatRounded" width={100} />
 * ```
 */
declare function VisaIcon({ format, ...props }: {
    format?: 'flat' | 'flatRounded' | 'logo' | 'logoBorder' | 'mono' | 'monoOutline';
} & SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Visa Flat icon.
 * @alias Visa from 'react-svg-credit-card-payment-icons/icons/flat'
 */
declare function VisaFlatIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Visa FlatRounded icon.
 * @alias Visa from 'react-svg-credit-card-payment-icons/icons/flat-rounded'
 */
declare function VisaFlatRoundedIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Visa Logo icon.
 * @alias Visa from 'react-svg-credit-card-payment-icons/icons/logo'
 */
declare function VisaLogoIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Visa LogoBorder icon.
 * @alias Visa from 'react-svg-credit-card-payment-icons/icons/logo-border'
 */
declare function VisaLogoBorderIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Visa Mono icon.
 * @alias Visa from 'react-svg-credit-card-payment-icons/icons/mono'
 */
declare function VisaMonoIcon(props: SVGProps<SVGSVGElement>): JSX.Element;
/**
 * Visa MonoOutline icon.
 * @alias Visa from 'react-svg-credit-card-payment-icons/icons/mono-outline'
 */
declare function VisaMonoOutlineIcon(props: SVGProps<SVGSVGElement>): JSX.Element;

/** SVG component props with optional width and height. */
type SVGComponentProps = {
    width?: number;
    height?: number;
};
declare const categoryMappings: {
    flat: typeof FlatComponents;
    flatRounded: typeof FlatRoundedComponents;
    logo: typeof LogoComponents;
    logoBorder: typeof LogoBorderComponents;
    mono: typeof MonoComponents;
    monoOutline: typeof MonoOutlineComponents;
};
/**
 * Supported payment types: Visa, Mastercard, AmericanExpress, Discover, Paypal, etc.
 * Includes generated alias components like Amex, Americanexpress, Cvv, Diners, etc.
 *
 * @example
 * const type: PaymentType = 'Visa';
 * const canonical: PaymentType = 'AmericanExpress'; // Valid PaymentType (canonical name)
 * const alias: PaymentType = 'Amex'; // Valid PaymentType (alias)
 */
type PaymentType = keyof typeof FlatComponents & keyof typeof FlatRoundedComponents & keyof typeof LogoComponents & keyof typeof LogoBorderComponents & keyof typeof MonoComponents & keyof typeof MonoOutlineComponents;
type PaymentCategory = keyof typeof categoryMappings;
/** @deprecated Use PaymentType instead */
type PaymentTypeExtended = PaymentType | 'Generic' | 'Code';
type PaymentIconProps = {
    /**
     * Payment card type or alias to render.
     *
     * Accepts:
     * - Type names: 'Visa', 'Mastercard', 'Americanexpress', etc.
     * - Aliases: 'Amex' (→ Americanexpress), 'Cvv' (→ Code), etc.
     * - Variants: 'Hiper' (→ Hipercard hiper variant)
     *
     * All aliases and variants are defined in card YAML files and resolved automatically.
     */
    type: PaymentType;
    /**
     * Icon style format.
     *
     * @default 'flat'
     */
    format?: PaymentCategory;
    /**
     * Optional variant slug to use for cards with multiple visual styles.
     *
     * Example: `variant="hiper"` renders the Hiper-branded version of Hipercard.
     *
     * Note: Variant aliases (like 'Hiper') automatically select the variant,
     * so this prop is only needed when using the base type name with explicit variant selection.
     *
     * @example
     * <PaymentIcon type="Hipercard" variant="hiper" />  // Explicit variant
     * <PaymentIcon type="Hiper" />                      // Automatic via alias
     */
    variant?: string;
} & SVGProps<SVGSVGElement>;
/**
 * Payment icon component with automatic sizing, format selection, and alias/variant resolution.
 *
 * Features:
 * - Maintains 780:500 aspect ratio automatically
 * - Resolves aliases and variants from card definitions
 * - Supports 6 visual formats (flat, flatRounded, logo, logoBorder, mono, monoOutline)
 * - Falls back to Generic icon for unsupported types
 * - Accepts all standard SVG props (className, style, onClick, etc.)
 *
 * @param props - Component props including type, format, variant, and standard SVG attributes
 * @returns React component rendering the appropriate payment card icon
 *
 * @example
 * Method 1: PaymentIcon component (universal)
 * ```tsx
 * import { PaymentIcon } from 'react-svg-credit-card-payment-icons';
 *
 * <PaymentIcon type="Visa" format="flatRounded" width={100} />
 * <PaymentIcon type="Mastercard" format="logo" width={100} />
 * ```
 *
 * @example
 * Method 2: Unified icon components with format prop
 * ```tsx
 * import { VisaIcon, MastercardIcon } from 'react-svg-credit-card-payment-icons';
 *
 * <VisaIcon format="flatRounded" width={100} />
 * <MastercardIcon format="logo" width={100} />
 * ```
 *
 * @example
 * Method 3: Format-specific components (recommended for smallest bundle)
 * ```tsx
 * import { VisaFlatRoundedIcon, MastercardLogoIcon } from 'react-svg-credit-card-payment-icons';
 *
 * <VisaFlatRoundedIcon width={100} />
 * <MastercardLogoIcon width={100} />
 * ```
 *
 * @example
 * Method 4: Vendor-specific imports
 * ```tsx
 * import { VisaFlatRoundedIcon, VisaLogoIcon } from 'react-svg-credit-card-payment-icons/visa';
 *
 * <VisaFlatRoundedIcon width={100} />
 * <VisaLogoIcon width={100} />
 * ```
 *
 * @example
 * Using aliases (resolved automatically)
 * ```tsx
 * <PaymentIcon type="Amex" />           // → AmericanExpress
 * <PaymentIcon type="Cvv" />            // → Code (back security code)
 * <PaymentIcon type="Diners" />         // → DinersClub
 * ```
 *
 * @example
 * Using variants
 * ```tsx
 * // Method 1: Use variant alias directly (recommended)
 * <PaymentIcon type="Hiper" />
 *
 * // Method 2: Use base type with explicit variant prop
 * <PaymentIcon type="Hipercard" variant="hiper" />
 *
 * // Method 3: Format-specific with variant
 * <HipercardFlatRoundedIcon variant="Hiper" />
 * ```
 *
 * @example
 * Legacy format-specific path imports (still supported)
 * ```tsx
 * import { Visa, Mastercard } from 'react-svg-credit-card-payment-icons/icons/flat-rounded';
 * <Visa width={100} />
 * <Mastercard width={100} />
 * ```
 *
 * @see {@link https://github.com/marcovoliveira/react-svg-credit-card-payment-icons | GitHub Repository}
 */
declare function PaymentIcon(props: PaymentIconProps): JSX.Element;

export { AVAILABLE_FORMATS, AlipayFlatIcon, AlipayFlatRoundedIcon, AlipayIcon, AlipayLogoBorderIcon, AlipayLogoIcon, AlipayMonoIcon, AlipayMonoOutlineIcon, AmericanExpressFlatIcon, AmericanExpressFlatRoundedIcon, AmericanExpressIcon, AmericanExpressLogoBorderIcon, AmericanExpressLogoIcon, AmericanExpressMonoIcon, AmericanExpressMonoOutlineIcon, AmericanexpressIcon, AmexIcon, type CanonicalCardType, CodeFlatIcon, CodeFlatRoundedIcon, CodeFrontFlatIcon, CodeFrontFlatRoundedIcon, CodeFrontIcon, CodeFrontLogoBorderIcon, CodeFrontLogoIcon, CodeFrontMonoIcon, CodeFrontMonoOutlineIcon, CodeIcon, CodeLogoBorderIcon, CodeLogoIcon, CodeMonoIcon, CodeMonoOutlineIcon, DinersClubFlatIcon, DinersClubFlatRoundedIcon, DinersClubIcon, DinersClubLogoBorderIcon, DinersClubLogoIcon, DinersClubMonoIcon, DinersClubMonoOutlineIcon, DinersIcon, DiscoverFlatIcon, DiscoverFlatRoundedIcon, DiscoverIcon, DiscoverLogoBorderIcon, DiscoverLogoIcon, DiscoverMonoIcon, DiscoverMonoOutlineIcon, EloFlatIcon, EloFlatRoundedIcon, EloIcon, EloLogoBorderIcon, EloLogoIcon, EloMonoIcon, EloMonoOutlineIcon, GenericCardFrontIcon, GenericCardIcon, GenericFlatIcon, GenericFlatRoundedIcon, GenericIcon, GenericLogoBorderIcon, GenericLogoIcon, GenericMonoIcon, GenericMonoOutlineIcon, HiperFlatIcon, HiperFlatRoundedIcon, HiperIcon, HiperLogoBorderIcon, HiperLogoIcon, HiperMonoIcon, HiperMonoOutlineIcon, HipercardFlatIcon, HipercardFlatRoundedIcon, HipercardIcon, HipercardLogoBorderIcon, HipercardLogoIcon, HipercardMonoIcon, HipercardMonoOutlineIcon, JCBFlatIcon, JCBFlatRoundedIcon, JCBIcon, JCBLogoBorderIcon, JCBLogoIcon, JCBMonoIcon, JCBMonoOutlineIcon, JcbIcon, MaestroFlatIcon, MaestroFlatRoundedIcon, MaestroIcon, MaestroLogoBorderIcon, MaestroLogoIcon, MaestroMonoIcon, MaestroMonoOutlineIcon, MastercardFlatIcon, MastercardFlatRoundedIcon, MastercardIcon, MastercardLogoBorderIcon, MastercardLogoIcon, MastercardMonoIcon, MastercardMonoOutlineIcon, MirFlatIcon, MirFlatRoundedIcon, MirIcon, MirLogoBorderIcon, MirLogoIcon, MirMonoIcon, MirMonoOutlineIcon, PayPalFlatIcon, PayPalFlatRoundedIcon, PayPalIcon, PayPalLogoBorderIcon, PayPalLogoIcon, PayPalMonoIcon, PayPalMonoOutlineIcon, PaymentIcon, type PaymentType, type PaymentTypeExtended, PaypalIcon, type SVGComponentProps, SwishFlatIcon, SwishFlatRoundedIcon, SwishIcon, SwishLogoBorderIcon, SwishLogoIcon, SwishMonoIcon, SwishMonoOutlineIcon, UnionPayFlatIcon, UnionPayFlatRoundedIcon, UnionPayIcon, UnionPayLogoBorderIcon, UnionPayLogoIcon, UnionPayMonoIcon, UnionPayMonoOutlineIcon, UnionpayIcon, VisaFlatIcon, VisaFlatRoundedIcon, VisaIcon, VisaLogoBorderIcon, VisaLogoIcon, VisaMonoIcon, VisaMonoOutlineIcon, detectCardType, FlatComponents as flat, FlatRoundedComponents as flatRounded, formatCardNumber, getCardLengthRange, getCardType, getCardsByCountry, isCardNumberPotentiallyValid, LogoComponents as logo, LogoBorderComponents as logoBorder, maskCardNumber, MonoComponents as mono, MonoOutlineComponents as monoOutline, sanitizeCardNumber, validateCardForType, validateCardNumber };
