import { EventEmitter } from '../../stencil-public-runtime'; export declare class FeedbackButton { feedbackModal: any; el: HTMLElement; /** * Position of the button on the page. Valid values: `default`, `bottom-right`, `bottom-left`, `top-right`, `top-left`, `center-right` (vertical tab on the right edge) and `center-left` (vertical tab on the left edge). Any other value behaves like `default`. */ buttonPosition: string; buttonStyle: string; hideIcon: boolean; hideMobile: boolean; sessionId: string; metadata: string; submit: boolean; /** * Optional API key sent with feedback submissions, for projects that * require one. Sent as `Authorization: Api-Key ` on the feedback POST * request only, never on the public config request. Only use keys scoped to * `feedback:submit`: like any credential used by an embedded widget, the * value is part of the page and readable by any script running on it, so it * provides server-side scoping and traceability rather than client-side * secrecy. Intended for internal or access-controlled pages. */ apiKey: string; clickOutsideClose: boolean; customFont: boolean; emailAddress: string; historyClose: boolean; isEmailRequired: boolean; fetchData: boolean; hideEmail: boolean; hidePrivacyPolicy: boolean; hideRating: boolean; hideScreenshotButton: boolean; /** Show the page-positioning step for an inline (default-position) button. */ screenshotPositioning: boolean; modalPosition: string; project: string; rating: number; ratingMode: string; emailPlaceholder: string; errorMessage: string; errorMessage401: string; errorMessage403: string; errorMessage404: string; footerText: string; messagePlaceholder: string; modalTitle: string; modalTitleError: string; modalTitleSuccess: string; privacyPolicyText: string; ratingPlaceholder: string; ratingStarsPlaceholder: string; sendButtonText: string; successMessage: string; recaptchaText: string; screenshotAttachedText: string; screenshotButtonText: string; screenshotTakingText: string; /** Instruction shown while positioning the page for capture. */ screenshotPositioningText: string; screenshotPositioningCaptureText: string; screenshotPositioningCancelText: string; screenshotEditTextButtonText: string; screenshotEditorTitle: string; screenshotEditorCancelText: string; screenshotEditorSaveText: string; screenshotSizeLabelText: string; screenshotBorderLabelText: string; screenshotEditTextPromptText: string; screenshotErrorGeneral: string; screenshotErrorPermission: string; screenshotErrorNotSupported: string; screenshotErrorNotFound: string; screenshotErrorCancelled: string; screenshotErrorBrowserNotSupported: string; screenshotErrorUnexpected: string; feedbackSent: EventEmitter<{ feedback: any; }>; feedbackError: EventEmitter<{ error: any; }>; feedbackEventsEnabled: boolean; /** * Emit feedbackSent, when the project's plan includes JavaScript events. * * Events are a delivery channel like Slack or a webhook, so they follow the * same rule: the service decides, the widget displays the answer. Submitting * feedback itself is never gated - only whether the page is told about it. */ private emitFeedbackSent; private emitFeedbackError; /** Read the project's capability list from the public config endpoint. */ private fetchFeedbackEventsEnabled; componentWillLoad(): void; componentDidLoad(): void; connectedCallback(): void; disconnectedCallback(): void; generateRandomSessionId(length?: number): string; isSafariBrowser(): boolean; loadInterFont(): void; showModal(): void; submitRatingFeedback(): Promise; render(): any; }