import { AfterViewInit, ChangeDetectorRef, EventEmitter, OnDestroy } from '@angular/core';
import { MatDialogRef } from '@angular/material/dialog';
import { AppLocalizationService } from '@laserfiche/lf-ui-components/internal-shared';
import { Observable } from 'rxjs';
import { FeedbackSubmissionComponent } from '../feedback-submission/feedback-submission.component';
import { UserFeedbackDialogData } from '../lf-user-feedback-types';
import * as i0 from "@angular/core";
/** @internal */
export declare enum FeedbackDialogState {
    FIRST_PANE = 0,
    FEEDBACK = 1,
    SUGGESTION = 2,
    THANK_YOU = 3,
    ERROR = 4
}
/**
 * @internal
 */
export declare class UserFeedbackDialogComponent implements AfterViewInit, OnDestroy {
    dialogRef: MatDialogRef<UserFeedbackDialogComponent>;
    private ref;
    private localizationService;
    submitFeedback: EventEmitter<UserFeedbackDialogData>;
    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<string>;
        FEEDBACK: Observable<string>;
        CLOSE: Observable<string>;
        THANK_YOU_FOR_SUBMISSION: Observable<string>;
        IF_YOUD_LIKE_TO_JOIN_OUR_CUSTOMER_PANEL: Observable<string>;
        PLEASE_CLICK_HERE: Observable<string>;
        SOMETHING_WENT_WRONG_PLEASE_TRY_AGAIN_LATER: Observable<string>;
        SUBMIT: Observable<string>;
        CANCEL: Observable<string>;
    };
    USER_FEEDBACK_TITLE: Observable<string>;
    constructor(dialogRef: MatDialogRef<UserFeedbackDialogComponent>, ref: ChangeDetectorRef, localizationService: AppLocalizationService);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    setError(): void;
    onClickFeedback(): void;
    onClickSuggestion(): void;
    onEscKey(event: KeyboardEvent): void;
    private onTextChanges;
    onClickSubmitAsync(): Promise<void>;
    onCloseDialog(): void;
    private isEmptyOrWhitespace;
    private getFeedbackDialogData;
    static ɵfac: i0.ɵɵFactoryDeclaration<UserFeedbackDialogComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<UserFeedbackDialogComponent, "lf-user-feedback-dialog-component", never, {}, { "submitFeedback": "submitFeedback"; }, never, never, false, never>;
}
