import type { FieldsCardTokenParams } from '../../secureFields/createCardToken/types'; import type { CardTokenParams, CardTokenUpdateParams } from '../../coreMethods/cardToken/types'; import type { IdentificationType } from '../../coreMethods/getIdentificationTypes/types'; import type { Installments, InstallmentsParams } from '../../coreMethods/getInstallments/types'; import type { Issuers, IssuersParams } from '../../coreMethods/getIssuers/types'; import type { PaymentMethods, PaymentMethodsParams } from '../../coreMethods/getPaymentMethods/types'; import type { CardToken } from '../../coreMethods/util/types'; import type { FieldName, Field, FieldsOptions } from '../../secureFields/util/types'; import type { IAuthenticator } from '../../authenticator/types'; import { AccountPaymentMethodsResponse } from '../../coreMethods/getAccountPaymentMethods/types'; import { CardIdResponse } from '../../coreMethods/getCardId/types'; export type TOptions = { /** * Set the locale * */ locale?: 'es-AR' | 'es-CL' | 'es-CO' | 'es-MX' | 'es-VE' | 'es-UY' | 'es-PE' | 'pt-BR' | 'en-US'; /** * Set the advanced fraud prevention status */ advancedFraudPrevention?: boolean; /** * Enable/disable tracking of generic usage metrics */ trackingDisabled?: boolean; /** * Used to inform how bricks are being implemented */ frontEndStack?: string; siteId?: string; }; export type BricksBuilderType = { create: (param: string, param2: string, settings: {}) => void; }; export type TInstanceMercadoPago = { bricks: () => BricksBuilderType; getIdentificationTypes: () => Promise; getPaymentMethods: (paymentMethodsParams: PaymentMethodsParams) => Promise; getIssuers: (issuersParams: IssuersParams) => Promise; getInstallments: (installmentsParams: InstallmentsParams) => Promise; createCardToken: (cardTokenParams: CardTokenParams) => Promise; updateCardToken: (paymentMethodsParams: CardTokenUpdateParams) => Promise; getAccountPaymentMethods: (fastPaymentToken: string) => Promise; getCardId: (fastPaymentToken: string, pseudotoken: string) => Promise; updatePseudotoken: (fastPaymentToken: string, pseudotoken: string, cardToken: string) => Promise; authenticator: (amount: string, payerEmail: string) => Promise; fields: { createCardToken: (fieldsCardTokenParams: FieldsCardTokenParams) => Promise; updateCardToken: (token: string) => Promise; create: (field: T, options?: FieldsOptions) => Field; }; };