import {ResponseInnerMessage, ActionInnerMessage} from '../common/types'; import PluginInterface, {PluginName} from '../../plugins/core/interface'; import {Metadata} from '../../plugins/logger/types'; import IframeClient from '../common/connection/client'; import {ApiClientInterface} from '../../plugins/core/api/interface'; import PluginManager from '../../plugins/core/plugin-manager'; import CbInstanceOptions from '../../interfaces/cb-instance-options'; import ComponentsAndFieldsPluginInterface from '../../plugins/components_fields/actions/interface'; import ThreeDSPluginInterface from '../../plugins/three_domain_secure/actions/interface'; import CheckoutUtilsPluginInterface from '../../plugins/checkout_utils/actions/interface'; import {RecaptchaOptions} from '../../plugins/captcha/types'; import LoggerPluginInterface from '../../plugins/logger/actions/interface'; export default interface CommManagerInterface { hostName: string; site: string; publishableKey: string; businessEntityId?: string; connectionClient: IframeClient; apiClient: ApiClientInterface; pluginMan: PluginManager; site_meta: { window_url?: string; options?: CbInstanceOptions; }; piWorker: Worker; loadPlugin(data: any): Promise; initializeCaptcha(options: RecaptchaOptions): any; generateCaptchaToken(action: string): Promise; getPlugin(pluginName: PluginName): Promise; initialize(): Promise; getSiteInfo(): Metadata; invokeAction(message: ActionInnerMessage): Promise; getComponentsAndFieldsPlugin(): Promise; getThreeDSPlugin(): Promise; getCheckoutUtilsPlugin(): Promise; getLoggerPlugin(): Promise; isTestSite(): boolean; }