<?php
namespace WPForms\Integrations\PayPalCommerce\Frontend;
/**
* Defines the contract for SDK components to be implemented.
*
* Provides methods for retrieving a unique identifier (slug) for the component
* and for the enqueuing the necessary resources.
*
* @since 1.10.0
*/
interface PaymentMethodAssetsInterface {
/**
* Adds an element to the end of the queue.
*
* @since 1.10.0
*
* @param array $payment_types Array of payment type flags (e.g., ['single' => bool, 'recurring' => bool]).
*/
public function enqueue( array $payment_types ): void;
/**
* Retrieves an array of asynchronous scripts.
*
* @since 1.10.0
*
* @return array The list of asynchronous script URLs or handles.
*/
public function get_async_scripts(): array;
/**
* Retrieves the localized settings for a given field.
*
* @since 1.10.0
*
* @param array $field The field configuration array to localize.
* @param array $form The form configuration array.
*
* @return array The localized settings of the specified field.
*/
public function get_localized_settings( array $field, array $form ): array;
}