/* 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/core/internal"; import { ApiService } from "./services/api.service"; import { ChatMessage, Product, WidgetEvent } from "./types/api"; export { ApiService } from "./services/api.service"; export { ChatMessage, Product, WidgetEvent } from "./types/api"; export namespace Components { interface BcxChatList { "apiService": ApiService; /** * @default 'en' */ "language": 'pl' | 'en'; /** * @default 'light' */ "theme": 'light' | 'dark'; } interface BcxMessageComposer { "clearAttachments": () => Promise; /** * @default false */ "disabled": boolean; /** * @default false */ "isAttachmentsDisabled": boolean; /** * @default false */ "loading": boolean; /** * @default 1000 */ "maxLength": number; /** * @default 'Type your message...' */ "placeholder": string; /** * @default 'light' */ "theme": 'light' | 'dark'; } interface BcxProductSlider { /** * @default 'en' */ "language": 'pl' | 'en'; /** * @default [] */ "products": Product[]; /** * @default false */ "showAfterStreaming": boolean; } interface BettercxWidget { /** * @default 'https://chat.bettercx.ai' */ "aiServiceUrl": string; /** * @default true */ "autoInit": boolean; /** * @default 'https://api.bettercx.ai' */ "baseUrl": string; "close": () => Promise; /** * @default false */ "debug": boolean; /** * @default false */ "embedded": boolean; /** * @default 'center' */ "embeddedPlacement": 'top' | 'center' | 'bottom'; /** * @default 'full' */ "embeddedSize": 'full' | 'medium' | 'small'; /** * @default false */ "isAttachmentsDisabled": boolean; /** * @default 'auto' */ "language": 'pl' | 'en' | 'auto'; "open": () => Promise; /** * @default 'right' */ "position": 'left' | 'right'; "publicKey": string; "sendMessage": (content: string, images?: File[]) => Promise; /** * @default 'auto' */ "theme": 'light' | 'dark' | 'auto'; "toggle": () => Promise; } } export interface BcxChatListCustomEvent extends CustomEvent { detail: T; target: HTMLBcxChatListElement; } export interface BcxMessageComposerCustomEvent extends CustomEvent { detail: T; target: HTMLBcxMessageComposerElement; } export interface BettercxWidgetCustomEvent extends CustomEvent { detail: T; target: HTMLBettercxWidgetElement; } declare global { interface HTMLBcxChatListElementEventMap { "chatSelected": string; "close": void; } interface HTMLBcxChatListElement extends Components.BcxChatList, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLBcxChatListElement, ev: BcxChatListCustomEvent) => 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: HTMLBcxChatListElement, ev: BcxChatListCustomEvent) => 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 HTMLBcxChatListElement: { prototype: HTMLBcxChatListElement; new (): HTMLBcxChatListElement; }; interface HTMLBcxMessageComposerElementEventMap { "messageSubmit": { content: string; images: File[] }; "attachmentsChange": { count: number }; } interface HTMLBcxMessageComposerElement extends Components.BcxMessageComposer, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLBcxMessageComposerElement, ev: BcxMessageComposerCustomEvent) => 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: HTMLBcxMessageComposerElement, ev: BcxMessageComposerCustomEvent) => 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 HTMLBcxMessageComposerElement: { prototype: HTMLBcxMessageComposerElement; new (): HTMLBcxMessageComposerElement; }; interface HTMLBcxProductSliderElement extends Components.BcxProductSlider, HTMLStencilElement { } var HTMLBcxProductSliderElement: { prototype: HTMLBcxProductSliderElement; new (): HTMLBcxProductSliderElement; }; interface HTMLBettercxWidgetElementEventMap { "widgetEvent": WidgetEvent; } interface HTMLBettercxWidgetElement extends Components.BettercxWidget, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLBettercxWidgetElement, ev: BettercxWidgetCustomEvent) => 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: HTMLBettercxWidgetElement, ev: BettercxWidgetCustomEvent) => 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 HTMLBettercxWidgetElement: { prototype: HTMLBettercxWidgetElement; new (): HTMLBettercxWidgetElement; }; interface HTMLElementTagNameMap { "bcx-chat-list": HTMLBcxChatListElement; "bcx-message-composer": HTMLBcxMessageComposerElement; "bcx-product-slider": HTMLBcxProductSliderElement; "bettercx-widget": HTMLBettercxWidgetElement; } } declare namespace LocalJSX { interface BcxChatList { "apiService"?: ApiService; /** * @default 'en' */ "language"?: 'pl' | 'en'; "onChatSelected"?: (event: BcxChatListCustomEvent) => void; "onClose"?: (event: BcxChatListCustomEvent) => void; /** * @default 'light' */ "theme"?: 'light' | 'dark'; } interface BcxMessageComposer { /** * @default false */ "disabled"?: boolean; /** * @default false */ "isAttachmentsDisabled"?: boolean; /** * @default false */ "loading"?: boolean; /** * @default 1000 */ "maxLength"?: number; "onAttachmentsChange"?: (event: BcxMessageComposerCustomEvent<{ count: number }>) => void; "onMessageSubmit"?: (event: BcxMessageComposerCustomEvent<{ content: string; images: File[] }>) => void; /** * @default 'Type your message...' */ "placeholder"?: string; /** * @default 'light' */ "theme"?: 'light' | 'dark'; } interface BcxProductSlider { /** * @default 'en' */ "language"?: 'pl' | 'en'; /** * @default [] */ "products"?: Product[]; /** * @default false */ "showAfterStreaming"?: boolean; } interface BettercxWidget { /** * @default 'https://chat.bettercx.ai' */ "aiServiceUrl"?: string; /** * @default true */ "autoInit"?: boolean; /** * @default 'https://api.bettercx.ai' */ "baseUrl"?: string; /** * @default false */ "debug"?: boolean; /** * @default false */ "embedded"?: boolean; /** * @default 'center' */ "embeddedPlacement"?: 'top' | 'center' | 'bottom'; /** * @default 'full' */ "embeddedSize"?: 'full' | 'medium' | 'small'; /** * @default false */ "isAttachmentsDisabled"?: boolean; /** * @default 'auto' */ "language"?: 'pl' | 'en' | 'auto'; "onWidgetEvent"?: (event: BettercxWidgetCustomEvent) => void; /** * @default 'right' */ "position"?: 'left' | 'right'; "publicKey"?: string; /** * @default 'auto' */ "theme"?: 'light' | 'dark' | 'auto'; } interface IntrinsicElements { "bcx-chat-list": BcxChatList; "bcx-message-composer": BcxMessageComposer; "bcx-product-slider": BcxProductSlider; "bettercx-widget": BettercxWidget; } } export { LocalJSX as JSX }; declare module "@stencil/core" { export namespace JSX { interface IntrinsicElements { "bcx-chat-list": LocalJSX.BcxChatList & JSXBase.HTMLAttributes; "bcx-message-composer": LocalJSX.BcxMessageComposer & JSXBase.HTMLAttributes; "bcx-product-slider": LocalJSX.BcxProductSlider & JSXBase.HTMLAttributes; "bettercx-widget": LocalJSX.BettercxWidget & JSXBase.HTMLAttributes; } } }