/* eslint-disable */ /* tslint:disable */ /** * This is an autogenerated file created by the Stencil compiler. * It contains typing information for all components that exist in this project. */ import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime"; import { ComponentResizeEventDetails, SessionCompletionEvent, SupportedLanguages, SupportedModes, TabLanguage } from "./types"; import { FinancialInstrument, Payment, SchemeOption } from "@imburseag/types"; import { JSX } from "./stencil-public-runtime"; import { WalletTab } from "./imburse-checkout/components/WalletTabs"; import { WalletTab as WalletTab1 } from "./imburse-checkout/components/WalletTabs/types"; export { ComponentResizeEventDetails, SessionCompletionEvent, SupportedLanguages, SupportedModes, TabLanguage } from "./types"; export { FinancialInstrument, Payment, SchemeOption } from "@imburseag/types"; export { JSX } from "./stencil-public-runtime"; export { WalletTab } from "./imburse-checkout/components/WalletTabs"; export { WalletTab as WalletTab1 } from "./imburse-checkout/components/WalletTabs/types"; export namespace Components { interface CheckoutSession { /** * Available feature flags. * @default {} */ "flags": Record; } interface CheckoutTitle { } interface FinancialInstrumentCard { /** * @default false */ "actionInProgress": boolean; /** * The financial instrument to display */ "financialInstrument": FinancialInstrument; /** * Whether the financial instrument can be removed * @default false */ "removalAllowed": boolean; /** * Whether the financial instrument is currently selected * @default false */ "selected": boolean; } interface FinancialInstrumentSession { /** * Available feature flags. * @default {} */ "flags": Record; } interface ImbTooltip { /** * Additional CSS classes to apply to the tooltip container * @default "" */ "class": string; /** * The HTML content to display inside the tooltip */ "html": JSX.Element | string; /** * The position of the tooltip relative to the target element * @default "top" */ "position": "top" | "bottom" | "left" | "right"; } interface ImburseCheckout { /** * The customer token. */ "customerToken": string; /** * The language to display the checkout in. * @default "EN" */ "language": SupportedLanguages; /** * The mode to use for this checkout session. * @default "production" */ "mode": SupportedModes; /** * The return URL to use when a redirect occurs. */ "returnUrl": string; } interface MandateSession { /** * Available feature flags. * @default {} */ "flags": Record; } interface PaymentIcon { /** * The description of the payment option, used for the image alt attribute. */ "description": string; /** * The name of the payment option, used to locate the corresponding image. */ "name": string; /** * Whether this icon is for the selected payment option. If true, a different CSS class is applied for styling. * @default false */ "selected": boolean; } interface PaymentModule { /** * Indicates that a request is in progress and the component cannot load yet. * @default false */ "loading": boolean; /** * The selected payment option. * @default null */ "option": SchemeOption | null; } interface PaymentModuleHeader { /** * Whether an action is currently in progress and interactions should be disabled. * @default false */ "actionInProgress": boolean; /** * Currently selected scheme option. */ "option": SchemeOption; /** * Whether to show the back/select button. * @default true */ "showPaymentMethodSelectionButton": boolean; } interface PaymentModuleHost { /** * The selected payment option. * @default null */ "option": SchemeOption | null; } interface PaymentOptionsList { /** * The text to be displayed above the payment options. */ "descriptionText": string; /** * The available payment methods. * @default [] */ "paymentOptions": SchemeOption[]; } interface SectionFinancialInstrumentsList { /** * Whether an action is currently in progress and interactions should be disabled. */ "actionInProgress": boolean; /** * Error text to be displayed below the pay button. * @default null */ "errorText"?: string | null; /** * Whether financial instruments can be removed. */ "fiRemovalAllowed": boolean; /** * List of available financial instruments. */ "financialInstruments"?: FinancialInstrument[]; /** * The text to be displayed above the financial instrument options. */ "selectFinancialInstrumentText": string; /** * Currently selected financial instrument. */ "selectedFinancialInstrument": FinancialInstrument | null; /** * Whether the form is being submitted. */ "submittingForm": boolean; } interface SectionPaymentMethodNew { /** * Whether an action is currently in progress and interactions should be disabled. * @default false */ "actionInProgress": boolean; /** * The list of available payment options to display */ "payments"?: Payment[]; /** * The text to display for payment method selection */ "selectPaymentMethodText": string; /** * The currently selected payment scheme option */ "selectedOption": SchemeOption | null; /** * Controls whether to show the payment method selection button */ "showPaymentMethodSelectionButton": boolean; /** * Indicates whether the selected option is currently being updated */ "updatingSelectedOption"?: boolean; } interface TabItem { /** * Whether the tab is currently active/selected */ "active": boolean; /** * Whether the tab is disabled and cannot be interacted with */ "disabled"?: boolean; /** * Unique identifier for the wallet tab */ "tabId": WalletTab1; /** * Text content to display in the tab */ "text": TabLanguage; } interface TabList { /** * The currently active wallet tab */ "activeTab": WalletTab1; /** * Whether all tabs in the list are disabled */ "disabled"?: boolean; } interface TabPanel { /** * Whether the tab panel is currently active/visible */ "active": boolean; /** * Unique identifier for the tab panel */ "panelId": string; } interface WalletTabs { } } export interface CheckoutSessionCustomEvent extends CustomEvent { detail: T; target: HTMLCheckoutSessionElement; } export interface FinancialInstrumentCardCustomEvent extends CustomEvent { detail: T; target: HTMLFinancialInstrumentCardElement; } export interface FinancialInstrumentSessionCustomEvent extends CustomEvent { detail: T; target: HTMLFinancialInstrumentSessionElement; } export interface ImburseCheckoutCustomEvent extends CustomEvent { detail: T; target: HTMLImburseCheckoutElement; } export interface MandateSessionCustomEvent extends CustomEvent { detail: T; target: HTMLMandateSessionElement; } export interface PaymentModuleHeaderCustomEvent extends CustomEvent { detail: T; target: HTMLPaymentModuleHeaderElement; } export interface PaymentModuleHostCustomEvent extends CustomEvent { detail: T; target: HTMLPaymentModuleHostElement; } export interface PaymentOptionsListCustomEvent extends CustomEvent { detail: T; target: HTMLPaymentOptionsListElement; } export interface SectionFinancialInstrumentsListCustomEvent extends CustomEvent { detail: T; target: HTMLSectionFinancialInstrumentsListElement; } export interface TabItemCustomEvent extends CustomEvent { detail: T; target: HTMLTabItemElement; } declare global { interface HTMLCheckoutSessionElementEventMap { "imburse_checkout:component_session:session_token_expired": any; "imburse_checkout:component_session:session_error": any; "imburse_checkout:component_session:session_success": SessionCompletionEvent; "imburse_checkout:component_session:session_failed": SessionCompletionEvent; } interface HTMLCheckoutSessionElement extends Components.CheckoutSession, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLCheckoutSessionElement, ev: CheckoutSessionCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLCheckoutSessionElement, ev: CheckoutSessionCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLCheckoutSessionElement: { prototype: HTMLCheckoutSessionElement; new (): HTMLCheckoutSessionElement; }; interface HTMLCheckoutTitleElement extends Components.CheckoutTitle, HTMLStencilElement { } var HTMLCheckoutTitleElement: { prototype: HTMLCheckoutTitleElement; new (): HTMLCheckoutTitleElement; }; interface HTMLFinancialInstrumentCardElementEventMap { "imburse-checkout:select-financial-instrument": FinancialInstrument; "imburse-checkout:remove-financial-instrument": FinancialInstrument; "imburse-checkout:action-in-progress": boolean; } interface HTMLFinancialInstrumentCardElement extends Components.FinancialInstrumentCard, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLFinancialInstrumentCardElement, ev: FinancialInstrumentCardCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLFinancialInstrumentCardElement, ev: FinancialInstrumentCardCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLFinancialInstrumentCardElement: { prototype: HTMLFinancialInstrumentCardElement; new (): HTMLFinancialInstrumentCardElement; }; interface HTMLFinancialInstrumentSessionElementEventMap { "imburse_checkout:component_session:session_token_expired": any; "imburse_checkout:component_session:session_error": any; "imburse_checkout:component_session:session_success": SessionCompletionEvent; "imburse_checkout:component_session:session_failed": SessionCompletionEvent; } interface HTMLFinancialInstrumentSessionElement extends Components.FinancialInstrumentSession, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLFinancialInstrumentSessionElement, ev: FinancialInstrumentSessionCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLFinancialInstrumentSessionElement, ev: FinancialInstrumentSessionCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLFinancialInstrumentSessionElement: { prototype: HTMLFinancialInstrumentSessionElement; new (): HTMLFinancialInstrumentSessionElement; }; interface HTMLImbTooltipElement extends Components.ImbTooltip, HTMLStencilElement { } var HTMLImbTooltipElement: { prototype: HTMLImbTooltipElement; new (): HTMLImbTooltipElement; }; interface HTMLImburseCheckoutElementEventMap { "imburse_checkout:component_loaded": any; "imburse_checkout:payment_success": any; "imburse_checkout:session_success": SessionCompletionEvent; "imburse_checkout:payment_failed": any; "imburse_checkout:session_failed": SessionCompletionEvent; "imburse_checkout:session_token_invalid": any; "imburse_checkout:session_token_expired": any; "imburse_checkout:session_error": any; "imburse_checkout:unsupported_language": any; "imburse_checkout:component_resize": ComponentResizeEventDetails; } interface HTMLImburseCheckoutElement extends Components.ImburseCheckout, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLImburseCheckoutElement, ev: ImburseCheckoutCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLImburseCheckoutElement, ev: ImburseCheckoutCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLImburseCheckoutElement: { prototype: HTMLImburseCheckoutElement; new (): HTMLImburseCheckoutElement; }; interface HTMLMandateSessionElementEventMap { "imburse_checkout:component_session:session_token_expired": any; "imburse_checkout:component_session:session_error": any; "imburse_checkout:component_session:session_success": SessionCompletionEvent; "imburse_checkout:component_session:session_failed": SessionCompletionEvent; } interface HTMLMandateSessionElement extends Components.MandateSession, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLMandateSessionElement, ev: MandateSessionCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLMandateSessionElement, ev: MandateSessionCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLMandateSessionElement: { prototype: HTMLMandateSessionElement; new (): HTMLMandateSessionElement; }; interface HTMLPaymentIconElement extends Components.PaymentIcon, HTMLStencilElement { } var HTMLPaymentIconElement: { prototype: HTMLPaymentIconElement; new (): HTMLPaymentIconElement; }; interface HTMLPaymentModuleElement extends Components.PaymentModule, HTMLStencilElement { } var HTMLPaymentModuleElement: { prototype: HTMLPaymentModuleElement; new (): HTMLPaymentModuleElement; }; interface HTMLPaymentModuleHeaderElementEventMap { "imburse-checkout:reset-selected-option": any; } interface HTMLPaymentModuleHeaderElement extends Components.PaymentModuleHeader, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLPaymentModuleHeaderElement, ev: PaymentModuleHeaderCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLPaymentModuleHeaderElement, ev: PaymentModuleHeaderCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLPaymentModuleHeaderElement: { prototype: HTMLPaymentModuleHeaderElement; new (): HTMLPaymentModuleHeaderElement; }; interface HTMLPaymentModuleHostElementEventMap { "imburse_checkout:component_load:failure": any; "imburse_checkout:component_load:success": any; } interface HTMLPaymentModuleHostElement extends Components.PaymentModuleHost, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLPaymentModuleHostElement, ev: PaymentModuleHostCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLPaymentModuleHostElement, ev: PaymentModuleHostCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLPaymentModuleHostElement: { prototype: HTMLPaymentModuleHostElement; new (): HTMLPaymentModuleHostElement; }; interface HTMLPaymentOptionsListElementEventMap { "imburse-checkout:select-option": SchemeOption; } interface HTMLPaymentOptionsListElement extends Components.PaymentOptionsList, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLPaymentOptionsListElement, ev: PaymentOptionsListCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLPaymentOptionsListElement, ev: PaymentOptionsListCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLPaymentOptionsListElement: { prototype: HTMLPaymentOptionsListElement; new (): HTMLPaymentOptionsListElement; }; interface HTMLSectionFinancialInstrumentsListElementEventMap { "imburse-checkout:wallet-pay": any; "imburse-checkout:tab-selected": WalletTab; } interface HTMLSectionFinancialInstrumentsListElement extends Components.SectionFinancialInstrumentsList, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSectionFinancialInstrumentsListElement, ev: SectionFinancialInstrumentsListCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSectionFinancialInstrumentsListElement, ev: SectionFinancialInstrumentsListCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSectionFinancialInstrumentsListElement: { prototype: HTMLSectionFinancialInstrumentsListElement; new (): HTMLSectionFinancialInstrumentsListElement; }; interface HTMLSectionPaymentMethodNewElement extends Components.SectionPaymentMethodNew, HTMLStencilElement { } var HTMLSectionPaymentMethodNewElement: { prototype: HTMLSectionPaymentMethodNewElement; new (): HTMLSectionPaymentMethodNewElement; }; interface HTMLTabItemElementEventMap { "imburse-checkout:tab-selected": WalletTab1; } interface HTMLTabItemElement extends Components.TabItem, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLTabItemElement, ev: TabItemCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLTabItemElement, ev: TabItemCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLTabItemElement: { prototype: HTMLTabItemElement; new (): HTMLTabItemElement; }; interface HTMLTabListElement extends Components.TabList, HTMLStencilElement { } var HTMLTabListElement: { prototype: HTMLTabListElement; new (): HTMLTabListElement; }; interface HTMLTabPanelElement extends Components.TabPanel, HTMLStencilElement { } var HTMLTabPanelElement: { prototype: HTMLTabPanelElement; new (): HTMLTabPanelElement; }; interface HTMLWalletTabsElement extends Components.WalletTabs, HTMLStencilElement { } var HTMLWalletTabsElement: { prototype: HTMLWalletTabsElement; new (): HTMLWalletTabsElement; }; interface HTMLElementTagNameMap { "checkout-session": HTMLCheckoutSessionElement; "checkout-title": HTMLCheckoutTitleElement; "financial-instrument-card": HTMLFinancialInstrumentCardElement; "financial-instrument-session": HTMLFinancialInstrumentSessionElement; "imb-tooltip": HTMLImbTooltipElement; "imburse-checkout": HTMLImburseCheckoutElement; "mandate-session": HTMLMandateSessionElement; "payment-icon": HTMLPaymentIconElement; "payment-module": HTMLPaymentModuleElement; "payment-module-header": HTMLPaymentModuleHeaderElement; "payment-module-host": HTMLPaymentModuleHostElement; "payment-options-list": HTMLPaymentOptionsListElement; "section-financial-instruments-list": HTMLSectionFinancialInstrumentsListElement; "section-payment-method-new": HTMLSectionPaymentMethodNewElement; "tab-item": HTMLTabItemElement; "tab-list": HTMLTabListElement; "tab-panel": HTMLTabPanelElement; "wallet-tabs": HTMLWalletTabsElement; } } declare namespace LocalJSX { type OneOf = { [P in K]: PropT } & { [P in `attr:${K}` | `prop:${K}`]?: never } | { [P in `attr:${K}`]: AttrT } & { [P in K | `prop:${K}`]?: never } | { [P in `prop:${K}`]: PropT } & { [P in K | `attr:${K}`]?: never }; interface CheckoutSession { /** * Available feature flags. * @default {} */ "flags"?: Record; /** * The event emitted upon a session error occurring. */ "onImburse_checkout:component_session:session_error"?: (event: CheckoutSessionCustomEvent) => void; /** * The event emitted upon a session failing. */ "onImburse_checkout:component_session:session_failed"?: (event: CheckoutSessionCustomEvent) => void; /** * The event emitted upon a session completing successfully. */ "onImburse_checkout:component_session:session_success"?: (event: CheckoutSessionCustomEvent) => void; /** * The event emitted upon a session token expiring. */ "onImburse_checkout:component_session:session_token_expired"?: (event: CheckoutSessionCustomEvent) => void; } interface CheckoutTitle { } interface FinancialInstrumentCard { /** * @default false */ "actionInProgress"?: boolean; /** * The financial instrument to display */ "financialInstrument"?: FinancialInstrument; "onImburse-checkout:action-in-progress"?: (event: FinancialInstrumentCardCustomEvent) => void; /** * Event emitted when the financial instrument is to be removed */ "onImburse-checkout:remove-financial-instrument"?: (event: FinancialInstrumentCardCustomEvent) => void; /** * Event emitted when the financial instrument is selected */ "onImburse-checkout:select-financial-instrument"?: (event: FinancialInstrumentCardCustomEvent) => void; /** * Whether the financial instrument can be removed * @default false */ "removalAllowed"?: boolean; /** * Whether the financial instrument is currently selected * @default false */ "selected"?: boolean; } interface FinancialInstrumentSession { /** * Available feature flags. * @default {} */ "flags"?: Record; /** * The event emitted upon a session error occurring. */ "onImburse_checkout:component_session:session_error"?: (event: FinancialInstrumentSessionCustomEvent) => void; /** * The event emitted upon a session failing. */ "onImburse_checkout:component_session:session_failed"?: (event: FinancialInstrumentSessionCustomEvent) => void; /** * The event emitted upon a session completing successfully. */ "onImburse_checkout:component_session:session_success"?: (event: FinancialInstrumentSessionCustomEvent) => void; /** * The event emitted upon a session token expiring. */ "onImburse_checkout:component_session:session_token_expired"?: (event: FinancialInstrumentSessionCustomEvent) => void; } interface ImbTooltip { /** * Additional CSS classes to apply to the tooltip container * @default "" */ "class"?: string; /** * The HTML content to display inside the tooltip */ "html"?: JSX.Element | string; /** * The position of the tooltip relative to the target element * @default "top" */ "position"?: "top" | "bottom" | "left" | "right"; } interface ImburseCheckout { /** * The customer token. */ "customerToken": string; /** * The language to display the checkout in. * @default "EN" */ "language"?: SupportedLanguages; /** * The mode to use for this checkout session. * @default "production" */ "mode"?: SupportedModes; /** * The event emitted once the component has successfully loaded. */ "onImburse_checkout:component_loaded"?: (event: ImburseCheckoutCustomEvent) => void; /** * The event emitted upon the required height of the component changing. */ "onImburse_checkout:component_resize"?: (event: ImburseCheckoutCustomEvent) => void; /** * The event emitted upon a payment session failing. * @Deprecated */ "onImburse_checkout:payment_failed"?: (event: ImburseCheckoutCustomEvent) => void; /** * The event emitted upon a payment session completing successfully. * @Deprecated */ "onImburse_checkout:payment_success"?: (event: ImburseCheckoutCustomEvent) => void; /** * The event emitted upon a session error occurring. */ "onImburse_checkout:session_error"?: (event: ImburseCheckoutCustomEvent) => void; /** * The event emitted upon a session failing. */ "onImburse_checkout:session_failed"?: (event: ImburseCheckoutCustomEvent) => void; /** * The event emitted upon a session completing successfully. */ "onImburse_checkout:session_success"?: (event: ImburseCheckoutCustomEvent) => void; /** * The event emitted upon a session token expiring. */ "onImburse_checkout:session_token_expired"?: (event: ImburseCheckoutCustomEvent) => void; /** * The event emitted upon an invalid session token being used. */ "onImburse_checkout:session_token_invalid"?: (event: ImburseCheckoutCustomEvent) => void; /** * The event emitted upon an unsupported language being detected. */ "onImburse_checkout:unsupported_language"?: (event: ImburseCheckoutCustomEvent) => void; /** * The return URL to use when a redirect occurs. */ "returnUrl": string; } interface MandateSession { /** * Available feature flags. * @default {} */ "flags"?: Record; /** * The event emitted upon a session error occurring. */ "onImburse_checkout:component_session:session_error"?: (event: MandateSessionCustomEvent) => void; /** * The event emitted upon a session failing. */ "onImburse_checkout:component_session:session_failed"?: (event: MandateSessionCustomEvent) => void; /** * The event emitted upon a session completing successfully. */ "onImburse_checkout:component_session:session_success"?: (event: MandateSessionCustomEvent) => void; /** * The event emitted upon a session token expiring. */ "onImburse_checkout:component_session:session_token_expired"?: (event: MandateSessionCustomEvent) => void; } interface PaymentIcon { /** * The description of the payment option, used for the image alt attribute. */ "description"?: string; /** * The name of the payment option, used to locate the corresponding image. */ "name"?: string; /** * Whether this icon is for the selected payment option. If true, a different CSS class is applied for styling. * @default false */ "selected"?: boolean; } interface PaymentModule { /** * Indicates that a request is in progress and the component cannot load yet. * @default false */ "loading"?: boolean; /** * The selected payment option. * @default null */ "option"?: SchemeOption | null; } interface PaymentModuleHeader { /** * Whether an action is currently in progress and interactions should be disabled. * @default false */ "actionInProgress"?: boolean; /** * Event handler for choosing another option. */ "onImburse-checkout:reset-selected-option"?: (event: PaymentModuleHeaderCustomEvent) => void; /** * Currently selected scheme option. */ "option": SchemeOption; /** * Whether to show the back/select button. * @default true */ "showPaymentMethodSelectionButton"?: boolean; } interface PaymentModuleHost { /** * The event emitted upon a component load failure. */ "onImburse_checkout:component_load:failure"?: (event: PaymentModuleHostCustomEvent) => void; /** * The event emitted upon a component load success. */ "onImburse_checkout:component_load:success"?: (event: PaymentModuleHostCustomEvent) => void; /** * The selected payment option. * @default null */ "option"?: SchemeOption | null; } interface PaymentOptionsList { /** * The text to be displayed above the payment options. */ "descriptionText"?: string; /** * Event emitted when a payment option is selected. */ "onImburse-checkout:select-option"?: (event: PaymentOptionsListCustomEvent) => void; /** * The available payment methods. * @default [] */ "paymentOptions"?: SchemeOption[]; } interface SectionFinancialInstrumentsList { /** * Whether an action is currently in progress and interactions should be disabled. */ "actionInProgress"?: boolean; /** * Error text to be displayed below the pay button. * @default null */ "errorText"?: string | null; /** * Whether financial instruments can be removed. */ "fiRemovalAllowed"?: boolean; /** * List of available financial instruments. */ "financialInstruments"?: FinancialInstrument[]; /** * Event emitted when a tab is selected. */ "onImburse-checkout:tab-selected"?: (event: SectionFinancialInstrumentsListCustomEvent) => void; /** * Event for paying with the selected financial instrument. */ "onImburse-checkout:wallet-pay"?: (event: SectionFinancialInstrumentsListCustomEvent) => void; /** * The text to be displayed above the financial instrument options. */ "selectFinancialInstrumentText"?: string; /** * Currently selected financial instrument. */ "selectedFinancialInstrument"?: FinancialInstrument | null; /** * Whether the form is being submitted. */ "submittingForm"?: boolean; } interface SectionPaymentMethodNew { /** * Whether an action is currently in progress and interactions should be disabled. * @default false */ "actionInProgress"?: boolean; /** * The list of available payment options to display */ "payments"?: Payment[]; /** * The text to display for payment method selection */ "selectPaymentMethodText"?: string; /** * The currently selected payment scheme option */ "selectedOption"?: SchemeOption | null; /** * Controls whether to show the payment method selection button */ "showPaymentMethodSelectionButton"?: boolean; /** * Indicates whether the selected option is currently being updated */ "updatingSelectedOption"?: boolean; } interface TabItem { /** * Whether the tab is currently active/selected */ "active"?: boolean; /** * Whether the tab is disabled and cannot be interacted with */ "disabled"?: boolean; /** * Event emitted when the tab is selected */ "onImburse-checkout:tab-selected"?: (event: TabItemCustomEvent) => void; /** * Unique identifier for the wallet tab */ "tabId"?: WalletTab1; /** * Text content to display in the tab */ "text"?: TabLanguage; } interface TabList { /** * The currently active wallet tab */ "activeTab"?: WalletTab1; /** * Whether all tabs in the list are disabled */ "disabled"?: boolean; } interface TabPanel { /** * Whether the tab panel is currently active/visible */ "active"?: boolean; /** * Unique identifier for the tab panel */ "panelId"?: string; } interface WalletTabs { } interface FinancialInstrumentCardAttributes { "selected": boolean; "removalAllowed": boolean; "actionInProgress": boolean; } interface ImbTooltipAttributes { "html": JSX.Element | string; "position": "top" | "bottom" | "left" | "right"; "class": string; } interface ImburseCheckoutAttributes { "language": SupportedLanguages; "returnUrl": string; "customerToken": string; "mode": SupportedModes; } interface PaymentIconAttributes { "name": string; "description": string; "selected": boolean; } interface PaymentModuleAttributes { "loading": boolean; } interface PaymentModuleHeaderAttributes { "showPaymentMethodSelectionButton": boolean; "actionInProgress": boolean; } interface PaymentOptionsListAttributes { "descriptionText": string; } interface SectionFinancialInstrumentsListAttributes { "selectFinancialInstrumentText": string; "fiRemovalAllowed": boolean; "actionInProgress": boolean; "submittingForm": boolean; "errorText": string | null; } interface SectionPaymentMethodNewAttributes { "selectPaymentMethodText": string; "updatingSelectedOption": boolean; "showPaymentMethodSelectionButton": boolean; "actionInProgress": boolean; } interface TabItemAttributes { "tabId": WalletTab; "active": boolean; "disabled": boolean; } interface TabListAttributes { "activeTab": WalletTab; "disabled": boolean; } interface TabPanelAttributes { "panelId": string; "active": boolean; } interface IntrinsicElements { "checkout-session": CheckoutSession; "checkout-title": CheckoutTitle; "financial-instrument-card": Omit & { [K in keyof FinancialInstrumentCard & keyof FinancialInstrumentCardAttributes]?: FinancialInstrumentCard[K] } & { [K in keyof FinancialInstrumentCard & keyof FinancialInstrumentCardAttributes as `attr:${K}`]?: FinancialInstrumentCardAttributes[K] } & { [K in keyof FinancialInstrumentCard & keyof FinancialInstrumentCardAttributes as `prop:${K}`]?: FinancialInstrumentCard[K] }; "financial-instrument-session": FinancialInstrumentSession; "imb-tooltip": Omit & { [K in keyof ImbTooltip & keyof ImbTooltipAttributes]?: ImbTooltip[K] } & { [K in keyof ImbTooltip & keyof ImbTooltipAttributes as `attr:${K}`]?: ImbTooltipAttributes[K] } & { [K in keyof ImbTooltip & keyof ImbTooltipAttributes as `prop:${K}`]?: ImbTooltip[K] }; "imburse-checkout": Omit & { [K in keyof ImburseCheckout & keyof ImburseCheckoutAttributes]?: ImburseCheckout[K] } & { [K in keyof ImburseCheckout & keyof ImburseCheckoutAttributes as `attr:${K}`]?: ImburseCheckoutAttributes[K] } & { [K in keyof ImburseCheckout & keyof ImburseCheckoutAttributes as `prop:${K}`]?: ImburseCheckout[K] } & OneOf<"returnUrl", ImburseCheckout["returnUrl"], ImburseCheckoutAttributes["returnUrl"]> & OneOf<"customerToken", ImburseCheckout["customerToken"], ImburseCheckoutAttributes["customerToken"]>; "mandate-session": MandateSession; "payment-icon": Omit & { [K in keyof PaymentIcon & keyof PaymentIconAttributes]?: PaymentIcon[K] } & { [K in keyof PaymentIcon & keyof PaymentIconAttributes as `attr:${K}`]?: PaymentIconAttributes[K] } & { [K in keyof PaymentIcon & keyof PaymentIconAttributes as `prop:${K}`]?: PaymentIcon[K] }; "payment-module": Omit & { [K in keyof PaymentModule & keyof PaymentModuleAttributes]?: PaymentModule[K] } & { [K in keyof PaymentModule & keyof PaymentModuleAttributes as `attr:${K}`]?: PaymentModuleAttributes[K] } & { [K in keyof PaymentModule & keyof PaymentModuleAttributes as `prop:${K}`]?: PaymentModule[K] }; "payment-module-header": Omit & { [K in keyof PaymentModuleHeader & keyof PaymentModuleHeaderAttributes]?: PaymentModuleHeader[K] } & { [K in keyof PaymentModuleHeader & keyof PaymentModuleHeaderAttributes as `attr:${K}`]?: PaymentModuleHeaderAttributes[K] } & { [K in keyof PaymentModuleHeader & keyof PaymentModuleHeaderAttributes as `prop:${K}`]?: PaymentModuleHeader[K] }; "payment-module-host": PaymentModuleHost; "payment-options-list": Omit & { [K in keyof PaymentOptionsList & keyof PaymentOptionsListAttributes]?: PaymentOptionsList[K] } & { [K in keyof PaymentOptionsList & keyof PaymentOptionsListAttributes as `attr:${K}`]?: PaymentOptionsListAttributes[K] } & { [K in keyof PaymentOptionsList & keyof PaymentOptionsListAttributes as `prop:${K}`]?: PaymentOptionsList[K] }; "section-financial-instruments-list": Omit & { [K in keyof SectionFinancialInstrumentsList & keyof SectionFinancialInstrumentsListAttributes]?: SectionFinancialInstrumentsList[K] } & { [K in keyof SectionFinancialInstrumentsList & keyof SectionFinancialInstrumentsListAttributes as `attr:${K}`]?: SectionFinancialInstrumentsListAttributes[K] } & { [K in keyof SectionFinancialInstrumentsList & keyof SectionFinancialInstrumentsListAttributes as `prop:${K}`]?: SectionFinancialInstrumentsList[K] }; "section-payment-method-new": Omit & { [K in keyof SectionPaymentMethodNew & keyof SectionPaymentMethodNewAttributes]?: SectionPaymentMethodNew[K] } & { [K in keyof SectionPaymentMethodNew & keyof SectionPaymentMethodNewAttributes as `attr:${K}`]?: SectionPaymentMethodNewAttributes[K] } & { [K in keyof SectionPaymentMethodNew & keyof SectionPaymentMethodNewAttributes as `prop:${K}`]?: SectionPaymentMethodNew[K] }; "tab-item": Omit & { [K in keyof TabItem & keyof TabItemAttributes]?: TabItem[K] } & { [K in keyof TabItem & keyof TabItemAttributes as `attr:${K}`]?: TabItemAttributes[K] } & { [K in keyof TabItem & keyof TabItemAttributes as `prop:${K}`]?: TabItem[K] }; "tab-list": Omit & { [K in keyof TabList & keyof TabListAttributes]?: TabList[K] } & { [K in keyof TabList & keyof TabListAttributes as `attr:${K}`]?: TabListAttributes[K] } & { [K in keyof TabList & keyof TabListAttributes as `prop:${K}`]?: TabList[K] }; "tab-panel": Omit & { [K in keyof TabPanel & keyof TabPanelAttributes]?: TabPanel[K] } & { [K in keyof TabPanel & keyof TabPanelAttributes as `attr:${K}`]?: TabPanelAttributes[K] } & { [K in keyof TabPanel & keyof TabPanelAttributes as `prop:${K}`]?: TabPanel[K] }; "wallet-tabs": WalletTabs; } } export { LocalJSX as JSX }; declare module "@stencil/core" { export namespace JSX { interface IntrinsicElements { "checkout-session": LocalJSX.IntrinsicElements["checkout-session"] & JSXBase.HTMLAttributes; "checkout-title": LocalJSX.IntrinsicElements["checkout-title"] & JSXBase.HTMLAttributes; "financial-instrument-card": LocalJSX.IntrinsicElements["financial-instrument-card"] & JSXBase.HTMLAttributes; "financial-instrument-session": LocalJSX.IntrinsicElements["financial-instrument-session"] & JSXBase.HTMLAttributes; "imb-tooltip": LocalJSX.IntrinsicElements["imb-tooltip"] & JSXBase.HTMLAttributes; "imburse-checkout": LocalJSX.IntrinsicElements["imburse-checkout"] & JSXBase.HTMLAttributes; "mandate-session": LocalJSX.IntrinsicElements["mandate-session"] & JSXBase.HTMLAttributes; "payment-icon": LocalJSX.IntrinsicElements["payment-icon"] & JSXBase.HTMLAttributes; "payment-module": LocalJSX.IntrinsicElements["payment-module"] & JSXBase.HTMLAttributes; "payment-module-header": LocalJSX.IntrinsicElements["payment-module-header"] & JSXBase.HTMLAttributes; "payment-module-host": LocalJSX.IntrinsicElements["payment-module-host"] & JSXBase.HTMLAttributes; "payment-options-list": LocalJSX.IntrinsicElements["payment-options-list"] & JSXBase.HTMLAttributes; "section-financial-instruments-list": LocalJSX.IntrinsicElements["section-financial-instruments-list"] & JSXBase.HTMLAttributes; "section-payment-method-new": LocalJSX.IntrinsicElements["section-payment-method-new"] & JSXBase.HTMLAttributes; "tab-item": LocalJSX.IntrinsicElements["tab-item"] & JSXBase.HTMLAttributes; "tab-list": LocalJSX.IntrinsicElements["tab-list"] & JSXBase.HTMLAttributes; "tab-panel": LocalJSX.IntrinsicElements["tab-panel"] & JSXBase.HTMLAttributes; "wallet-tabs": LocalJSX.IntrinsicElements["wallet-tabs"] & JSXBase.HTMLAttributes; } } }