///
import type portalPortal from "@arcgis/core/portal/Portal.js";
import type { Telemetry } from "@esri/telemetry";
import type { IConsentResponse } from "../../utils/interfaces.js";
import type { PublicLitElement as LitElement } from "@arcgis/lumina";
import type { T9nMeta } from "@arcgis/lumina/controllers";
export abstract class ConsentManager extends LitElement {
/**
* Contains the translations for this component.
* All UI strings should be defined here.
*
* @internal
*/
protected _translations: {
accept: string;
message: string;
trackingAlertLabel: string;
} & T9nMeta<{
accept: string;
message: string;
trackingAlertLabel: string;
}>;
/**
* string: The app id for the amazon tracking instance
*
* @default ''
*/
accessor amazonAppId: string;
/**
* string: The app name for the amazon tracking instance
*
* @default ''
*/
accessor amazonAppName: string;
/**
* string: The user pool id for the amazon tracking instance
*
* @default ''
*/
accessor amazonUserPoolID: string;
/**
* string: The version for the amazon tracking instance
*
* @default ''
*/
accessor amazonVersion: string;
/**
* string: The name to use for the variable stored in the browsers local storge that
* will keep track of the users choice for consent
* TODO: [MIGRATION] This property was marked as required in your Stencil component. If you didn't mean it to be required, feel free to remove `@required` tag.
* Otherwise, read the documentation about required properties: https://qawebgis.esri.com/components/lumina/properties#string-properties
*
* @default ''
* @required
*/
accessor firstUseVar: string;
/** string[]: Any ids for the analytics configured to receive events from the telemety instance */
accessor measurementIds: string[];
/** esri/portal/Portal: https://developers.arcgis.com/javascript/latest/api-reference/esri-portal-Portal.html */
accessor portal: portalPortal | undefined;
/** Initialize and return the telemetry instance if consent has been granted */
getInstance(): Promise;
/** Emitted on demand when the user accepts or denies consent */
readonly consentGranted: import("@arcgis/lumina").TargetedEvent;
readonly "@eventTypes": {
consentGranted: ConsentManager["consentGranted"]["detail"];
};
}