/**
 * @author Jackiê Macklein
 * @company Onside tecnologia/Nettz
 * @copyright Todos direitos reservados.
 * @description Metadados das bandeiras para transação remota (crédito/débito vem do código enviado em `paymentBrand`).
 * Tabela de nomes: https://evoluservices.github.io/evoluservices-developer/docs/remote-transaction/value-table/brand
 */
import type { EvoPaymentBrandCode } from "./types";
import { type EvoPaymentBrandIconStyle } from "./paymentBrandIcons";
/** Tipo de cobrança inferido a partir do código da bandeira na documentação EvoluServices. */
export type EvoPaymentChargeKind = "credit" | "debit";
export interface EvoPaymentBrandInfo {
    /** Valor exato do campo `paymentBrand` na API. */
    code: EvoPaymentBrandCode;
    /** Nome amigável conforme a tabela oficial. */
    displayName: string;
    /**
     * Crédito ou débito associado ao código (a API não tem campo separado; o tipo vem do código).
     * Débito explícito na tabela oficial: `VISA_ELECTRON`, `MAESTRO`, `ELO_DEBITO`.
     * Demais entradas da tabela são tratadas como crédito para fins de UI/filtro.
     */
    chargeKind: EvoPaymentChargeKind;
    /** Slug do SVG (pacote público de ícones). */
    iconSlug: string;
    /** URL do SVG no estilo `flat` (use `listEvoPaymentBrands({ iconStyle })` para outro estilo). */
    iconUrl: string;
}
export type EvoPaymentBrandListOptions = {
    /** Estilo visual do SVG na coleção pública de ícones (padrão `flat`, já embutido em `BRANDS`). */
    iconStyle?: EvoPaymentBrandIconStyle;
};
/** @deprecated Use `EvoPaymentBrandInfo` (campos de ícone já incluídos). */
export type EvoPaymentBrandInfoWithIcon = EvoPaymentBrandInfo;
/** Lista completa (cópia) para UI ou validação no app consumidor. */
export declare function listEvoPaymentBrands(options?: EvoPaymentBrandListOptions): EvoPaymentBrandInfo[];
export declare function listEvoPaymentBrandsByKind(chargeKind: EvoPaymentChargeKind, options?: EvoPaymentBrandListOptions): EvoPaymentBrandInfo[];
/** Busca por código exato (ex.: valor vindo do banco de dados). */
export declare function getEvoPaymentBrandByCode(code: string, options?: EvoPaymentBrandListOptions): EvoPaymentBrandInfo | undefined;
