import { MatDialogRef, MatDialog } from '@angular/material/dialog'; import * as rxjs from 'rxjs'; import { Observable } from 'rxjs'; import * as i0 from '@angular/core'; import { EventEmitter, AfterViewInit, OnDestroy } from '@angular/core'; import { LfToastMessage } from '@laserfiche/lf-ui-components/internal-shared'; /** @internal */ declare enum UserFeedbackTrackingEventType { Feedback = "Feedback", Suggestion = "Suggestion" } /** @internal */ interface UserFeedbackDialogData { userFeedbackTrackingEventType: UserFeedbackTrackingEventType; feedbackText: string; canContact: boolean; feedbackImageBase64?: string; } /** * @internal * Contains required and custom properties to be tracked. * Custom properties are snake_case because camelCase and PascalCase are not respected when sending to tracking service */ interface IUserTrackingEvent { /** * required property by Product Intelligence */ eventName: UserFeedbackTrackingEventType; /** * required property by Product Intelligence */ module: string; /** * required property by Product Intelligence */ accountId: string; /** * required property by Product Intelligence */ userId: string; } /** @internal */ declare class LfAnalyticsService { private businessIntelligenceInitialized; constructor(); track(event: IUserTrackingEvent): boolean; private getAnalytics; private getBusinessIntelligenceInfo; private isNotProductionUrl; private isHostEmpower; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } /** @internal */ declare class FeedbackSubmissionComponent { private localizationService; isFeedback?: boolean; feedbackTextChanged: EventEmitter; toastMessages: LfToastMessage[]; readonly maxFeedbackLength: number; feedbackLength: number; feedbackEmailCheckbox: boolean; feedbackImageBase64: string | undefined; localizedStrings: { FOUND_SOMETHING_LIKE_DISLIKE_LET_US_KNOW: rxjs.Observable; DO_YOU_HAVE_IDEA_NEW_FEATURE_IMPROVEMENT_LOOK_FORWARD_TO_HEARING: rxjs.Observable; TELL_US_ABOUT_EXPERIENCE: rxjs.Observable; PLEASE_DO_NOT_INCLUDE_CONFIDENTIAL_OR_PERSONAL_INFO_IN_FEEDBACK: rxjs.Observable; YOU_MAY_CONTACT_ME_ABOUT_FEEDBACK: rxjs.Observable; TELL_US_ABOUT_IDEA: rxjs.Observable; REQUIRED: rxjs.Observable; }; onFeedbackImageBase64(imageBase64: string | undefined): void; feedbackTextBoxChange(event: Event): void; onImageUploadError(errMsg: string): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * @internal */ declare class UserFeedbackDialogComponent implements AfterViewInit, OnDestroy { dialogRef: MatDialogRef; private ref; private localizationService; submitFeedback: EventEmitter; feedbackSubmission?: FeedbackSubmissionComponent; private dialogState; private feedbackText; private allSubscriptions; isSubmitDisabled: boolean; get isFirstPane(): boolean; get isFeedback(): boolean; get isSuggestion(): boolean; get isThankYou(): boolean; get isError(): boolean; localizedStrings: { SUGGESTION: Observable; FEEDBACK: Observable; CLOSE: Observable; THANK_YOU_FOR_SUBMISSION: Observable; IF_YOUD_LIKE_TO_JOIN_OUR_CUSTOMER_PANEL: Observable; PLEASE_CLICK_HERE: Observable; SOMETHING_WENT_WRONG_PLEASE_TRY_AGAIN_LATER: Observable; SUBMIT: Observable; CANCEL: Observable; }; USER_FEEDBACK_TITLE: Observable; ngAfterViewInit(): void; ngOnDestroy(): void; setError(): void; onClickFeedback(): void; onClickSuggestion(): void; onEscKey(event: Event): void; onFeedbackTextChanged(text: string): void; onClickSubmitAsync(): Promise; onCloseDialog(): void; private isEmptyOrWhitespace; private getFeedbackDialogData; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class LfUserFeedbackComponent { /**@internal */ dialog: MatDialog; /**@internal */ analyticsService: LfAnalyticsService; /**@internal */ private localizationService; hosting_module: string; hosting_context: string; user_id: string; account_id: string; /** @internal */ feedbackText: Observable; /** @internal */ protected dialogRef: MatDialogRef | undefined; /** @internal */ handleDialogAsync(): Promise; /** @internal */ private closeDialogAsync; /** @internal */ get disableFeedbackButton(): boolean; /** @internal */ private openDialog; /** @internal */ private createEventTrackingData; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export { LfUserFeedbackComponent };