import { FormPoster } from '@bigcommerce/form-poster'; import { OrderRequestBody } from '@bigcommerce/checkout-sdk/payment-integration-api'; import { PaymentInitializeOptions } from '@bigcommerce/checkout-sdk/payment-integration-api'; import { PaymentIntegrationService } from '@bigcommerce/checkout-sdk/payment-integration-api'; import { PaymentRequestOptions } from '@bigcommerce/checkout-sdk/payment-integration-api'; import { PaymentStrategy } from '@bigcommerce/checkout-sdk/payment-integration-api'; import { PaymentStrategyFactory } from '@bigcommerce/checkout-sdk/payment-integration-api'; import { ScriptLoader } from '@bigcommerce/script-loader'; declare interface Classes { base?: string; complete?: string; empty?: string; focus?: string; error?: string; } declare interface CreateTokenError { field: string; type: string; message: string; } declare interface CreateTokenResponse { code: string; error?: CreateTokenError; token?: string; last4?: string; expiryMonth?: string; expiryYear?: string; } declare interface CssStyles { color?: string; fontFamily?: string; fontSize?: string; fontStyle?: string; fontWeight?: string; textDecoration?: string; padding?: string; paddingLeft?: string; paddingTop?: string; paddingRight?: string; paddingBottom?: string; } declare interface FieldOptions { placeholder?: string; style?: Styles; classes?: Classes; brands?: string[]; } declare enum FieldType { CARD_NUMBER = "card-number", CVV = "cvv", EXPIRY = "expiry" } declare interface Styles { base?: CssStyles; complete?: CssStyles; empty?: CssStyles; error?: CssStyles; } declare interface TDCustomCheckoutSDK { create(fieldType: FieldType, options?: FieldOptions): TdOnlineMartElement; createToken(callback: (result: CreateTokenResponse) => void): void; } declare class TDOnlineMartPaymentStrategy implements PaymentStrategy { private paymentIntegrationService; private tdOnlineMartScriptLoader; private formPoster; private tdOnlineMartClient?; private tdInputs; constructor(paymentIntegrationService: PaymentIntegrationService, tdOnlineMartScriptLoader: TDOnlineMartScriptLoader, formPoster: FormPoster); initialize(options: PaymentInitializeOptions): Promise; execute(payload: OrderRequestBody, options?: PaymentRequestOptions): Promise; finalize(): Promise; deinitialize(): Promise; private getPaymentPayloadOrThrow; private mountHostedFields; private loadTDOnlineMartJs; private getTokenOrThrow; private getTDOnlineMartClientOrThrow; private processWithAdditionalAction; private throwTokenizationError; private getHostedFieldsOptions; private isTrustedVaultingInstrument; } declare class TDOnlineMartScriptLoader { private scriptLoader; private tdOnlineMartWindow; constructor(scriptLoader: ScriptLoader, tdOnlineMartWindow?: TdOnlineMartHostWindow); load(): Promise; } declare interface TdOnlineMartElement { mount(cssSelector: string): void; unmount(): void; } declare interface TdOnlineMartHostWindow extends Window { customcheckout?(): TDCustomCheckoutSDK; } export declare const createTDOnlineMartPaymentStrategy: import("../../payment-integration-api/src/resolvable-module").default, { id: string; }>;