@livechat/widget-vue
Version:
This library allows to render and interact with the LiveChat Chat Widget inside a Vue 3 application
102 lines (94 loc) • 3.79 kB
TypeScript
import * as vue from 'vue';
import { Ref } from 'vue';
import { WidgetState, CustomerData, ChatData, Greeting, WidgetInstance } from '@livechat/widget-core';
export { ChatData, ChatEvent, CustomerData, EventHandlerPayload, RichMessageButton, WidgetConfig, WidgetState } from '@livechat/widget-core';
declare function useWidgetIsReady(): Ref<boolean>;
declare function useWidgetState(): Ref<WidgetState | null>;
declare function useWidgetCustomerData(): Ref<CustomerData | null>;
declare function useWidgetChatData(): Ref<ChatData | null>;
declare function useWidgetGreeting(): Ref<Greeting | null>;
declare const LiveChatWidget: vue.DefineComponent<{
license: {
type: StringConstructor;
required: true;
};
group: {
type: StringConstructor;
required: false;
default: undefined;
};
visibility: {
type: StringConstructor;
required: false;
default: undefined;
};
customerName: {
type: StringConstructor;
required: false;
default: undefined;
};
customerEmail: {
type: StringConstructor;
required: false;
default: undefined;
};
sessionVariables: {
type: ObjectConstructor;
required: false;
default: undefined;
};
chatBetweenGroups: {
type: BooleanConstructor;
required: false;
default: undefined;
};
customIdentityProvider: {
type: FunctionConstructor;
required: false;
default: undefined;
};
}, unknown, {
widget: WidgetInstance | null;
}, {}, {
setupWidget(): void;
reinitialize(): void;
}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, ("ready" | "new-event" | "form-submitted" | "rating-submitted" | "greeting-hidden" | "greeting-displayed" | "visibility-changed" | "customer-status-changed" | "rich-message-button-clicked" | "availability-changed")[], "ready" | "new-event" | "form-submitted" | "rating-submitted" | "greeting-hidden" | "greeting-displayed" | "visibility-changed" | "customer-status-changed" | "rich-message-button-clicked" | "availability-changed", vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<{
license?: unknown;
group?: unknown;
visibility?: unknown;
customerName?: unknown;
customerEmail?: unknown;
sessionVariables?: unknown;
chatBetweenGroups?: unknown;
customIdentityProvider?: unknown;
} & {
license: string;
} & {
visibility?: string | undefined;
sessionVariables?: Record<string, any> | undefined;
group?: string | undefined;
chatBetweenGroups?: boolean | undefined;
customerName?: string | undefined;
customerEmail?: string | undefined;
customIdentityProvider?: Function | undefined;
}> & {
onReady?: ((...args: any[]) => any) | undefined;
"onNew-event"?: ((...args: any[]) => any) | undefined;
"onForm-submitted"?: ((...args: any[]) => any) | undefined;
"onRating-submitted"?: ((...args: any[]) => any) | undefined;
"onGreeting-hidden"?: ((...args: any[]) => any) | undefined;
"onGreeting-displayed"?: ((...args: any[]) => any) | undefined;
"onVisibility-changed"?: ((...args: any[]) => any) | undefined;
"onCustomer-status-changed"?: ((...args: any[]) => any) | undefined;
"onRich-message-button-clicked"?: ((...args: any[]) => any) | undefined;
"onAvailability-changed"?: ((...args: any[]) => any) | undefined;
}, {
visibility: string;
sessionVariables: Record<string, any>;
group: string;
chatBetweenGroups: boolean;
customerName: string;
customerEmail: string;
customIdentityProvider: Function;
}>;
export { LiveChatWidget, useWidgetChatData, useWidgetCustomerData, useWidgetGreeting, useWidgetIsReady, useWidgetState };