import { BillingDetails, CardCvvElement, CardElementOptions, CardExpiryElement, CardNumberElement, CardOptions, Elements, Environment, MountTargets, PaymentMethodResult } from '../../types'; export declare class CreditCardElements { private environment; private stripe?; private defaultMountTargets; private defaultOptions; private defaultPlaceholders; cardNumber?: CardNumberElement; cardExpiry?: CardExpiryElement; cardCvv?: CardCvvElement; elements?: Elements[]; constructor(environment?: Environment); /** * Appends a credit card field to a passed element or selector of a DOM element. * * Defaults: * - Credit card number: `data-olo-pay-card-number` * - Credit card expiration date: `data-olo-pay-card-expiry` * - Credit card cvv: `data-olo-pay-card-cvv` * * Note: all three fields are required for a valid credit card submission. * * @param cardOptions Options object containing information for: * `cardElementOptions`, `elementsOptions`, `mountTargets`, and `placeholders`. */ create(cardOptions?: CardOptions): Promise; /** * Creates a payment method using card details on the form and * billing details (if passed). * * @param billingDetails Address, email, name, and phone. */ createPaymentMethod(billingDetails?: BillingDetails): Promise; /** * Applies a style object to the credit card elements. * * @param style Style object. */ applyStyles(style?: import("@stripe/stripe-js").StripeElementStyle): void; /** * Clear all credit card field values. */ clear(): void; /** * Removes credit card elements from the DOM and destroys them. * A destroyed element can not be re-activated or re-mounted to the DOM. */ destroy(): void; /** * Mounts credit card elements to the DOM. * Call `unmount` to remove them from the DOM. * * @param mountTargets Object containing selector or element targets. */ mount(mountTargets?: MountTargets): void; /** * Unmounts credit card elements from the DOM. * Call `mount` to re-attach them to the DOM. */ unmount(): void; /** * Updates the options the credit card elements were initialized with. * Updates are merged into the existing configuration. * * @param newOptions */ update(newOptions?: CardElementOptions): void; }