import { BehaviorSubject } from 'rxjs'; import * as i0 from '@angular/core'; import { OnDestroy, NgZone, OnInit, OnChanges, EventEmitter } from '@angular/core'; import * as _livechat_widget_core from '@livechat/widget-core'; import { WidgetState, CustomerData, ChatData, Greeting, ProductName, WidgetConfig, WidgetInstance } from '@livechat/widget-core'; export { ChatData, ChatEvent, CustomerData, EventHandlerPayload, RichMessageButton, WidgetConfig, WidgetState } from '@livechat/widget-core'; declare type WidgetIsReadySubject = typeof WidgetIsReadyService.prototype.subject; declare class WidgetIsReadyService implements OnDestroy { private zone; private onDestroy; readonly subject: BehaviorSubject; constructor(zone: NgZone); setIsReady(isReady: boolean): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare type WidgetStateSubject = typeof WidgetStateService.prototype.subject; declare class WidgetStateService implements OnDestroy { private zone; private onDestroy; readonly subject: BehaviorSubject; constructor(zone: NgZone); setWidgetState(widgetState: WidgetState | null): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare type WidgetCustomerDataSubject = typeof WidgetCustomerDataService.prototype.subject; declare class WidgetCustomerDataService implements OnDestroy { private zone; private onDestroy; readonly subject: BehaviorSubject; constructor(zone: NgZone); setCustomerData(data: CustomerData | null): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare type WidgetChatDataSubject = typeof WidgetChatDataService.prototype.subject; declare class WidgetChatDataService implements OnDestroy { private zone; private onDestroy; readonly subject: BehaviorSubject; constructor(zone: NgZone, widgetCustomerDataService: WidgetCustomerDataService); setChatData(data: ChatData | null): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare type WidgetGreetingSubject = typeof WidgetGreetingService.prototype.subject; declare class WidgetGreetingService implements OnDestroy { private zone; private onDestroy; readonly subject: BehaviorSubject; constructor(zone: NgZone); setGreeting(greeting: Greeting | null): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare type Changes = Partial<{ [key in keyof WidgetConfig]: { firstChange: boolean; previousValue: WidgetConfig[key]; currentValue: WidgetConfig[key]; isFirstChange(): boolean; }; }>; declare abstract class BaseWidgetComponent implements OnInit, OnDestroy, OnChanges { license: WidgetConfig['license']; organizationId: WidgetConfig['organizationId']; group: WidgetConfig['group']; visibility: WidgetConfig['visibility']; customerName: WidgetConfig['customerName']; customerEmail: WidgetConfig['customerEmail']; sessionVariables: WidgetConfig['sessionVariables']; chatBetweenGroups: WidgetConfig['chatBetweenGroups']; customIdentityProvider: WidgetConfig['customIdentityProvider']; onReady: EventEmitter<{ state: _livechat_widget_core.WidgetState; customerData: _livechat_widget_core.CustomerData; }>; onNewEvent: EventEmitter<_livechat_widget_core.ChatEvent>; onFormSubmitted: EventEmitter<{ type: "prechat" | "postchat" | "ticket"; }>; onRatingSubmitted: EventEmitter<"none" | "good" | "bad">; onGreetingHidden: EventEmitter<_livechat_widget_core.Greeting>; onGreetingDisplayed: EventEmitter<_livechat_widget_core.Greeting>; onVisibilityChanged: EventEmitter>; onCustomerStatusChanged: EventEmitter>; onRichMessageButtonClicked: EventEmitter<_livechat_widget_core.RichMessageButton>; onAvailabilityChanged: EventEmitter>; widget: WidgetInstance | null; protected abstract product: ProductName; ngOnInit(): void; ngOnChanges(changes: Changes): void; ngOnDestroy(): void; setupWidget(): void; reinitialize(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class LiveChatWidgetComponent extends BaseWidgetComponent { protected product: ProductName; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class TextWidgetComponent extends BaseWidgetComponent { protected product: ProductName; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class LiveChatWidgetModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { LiveChatWidgetComponent, LiveChatWidgetModule, TextWidgetComponent, WidgetChatDataService, WidgetChatDataSubject, WidgetCustomerDataService, WidgetCustomerDataSubject, WidgetGreetingService, WidgetGreetingSubject, WidgetIsReadyService, WidgetIsReadySubject, WidgetStateService, WidgetStateSubject };