export interface FirebaseAnalyticsPlugin { /** * Retrieves the app instance id. * * Only available for Android and iOS. * * @since 1.4.0 */ getAppInstanceId(): Promise; /** * Sets the user's consent mode. * * @since 6.0.0 */ setConsent(options: SetConsentOptions): Promise; /** * Sets the user ID property. * * @since 0.1.0 */ setUserId(options: SetUserIdOptions): Promise; /** * Sets a custom user property to a given value. * * @since 0.1.0 */ setUserProperty(options: SetUserPropertyOptions): Promise; /** * Sets the current screen name. * * @since 0.1.0 */ setCurrentScreen(options: SetCurrentScreenOptions): Promise; /** * Logs an app event. * * @since 0.1.0 */ logEvent(options: LogEventOptions): Promise; /** * Sets the duration of inactivity that terminates the current session. * * Only available for Android and iOS. * * @since 0.1.0 */ setSessionTimeoutDuration(options: SetSessionTimeoutDurationOptions): Promise; /** * Enables/disables automatic data collection. * The value does not apply until the next run of the app. * * @since 0.1.0 */ setEnabled(options: SetEnabledOptions): Promise; /** * Returns whether or not automatic data collection is enabled. * * Only available for Web. * * @since 0.1.0 */ isEnabled(): Promise; /** * Clears all analytics data for this app from the device. * Resets the app instance id. * * Only available for Android and iOS. * * @since 0.1.0 */ resetAnalyticsData(): Promise; /** * Logs a StoreKit 2 transaction. * * Only available for iOS (15.0+). * * @since 8.2.0 */ logTransaction(options: LogTransactionOptions): Promise; /** * Initiates on-device conversion measurement with an email address. * * Only available for iOS. * * @since 7.2.0 */ initiateOnDeviceConversionMeasurementWithEmailAddress(options: InitiateOnDeviceConversionMeasurementWithEmailAddressOptions): Promise; /** * Initiates on-device conversion measurement with a phone number. * * Only available for iOS. * * @since 7.2.0 */ initiateOnDeviceConversionMeasurementWithPhoneNumber(options: InitiateOnDeviceConversionMeasurementWithPhoneNumberOptions): Promise; /** * Initiates on-device conversion measurement with a hashed email address. * * Only available for iOS. * * @since 7.2.0 */ initiateOnDeviceConversionMeasurementWithHashedEmailAddress(options: InitiateOnDeviceConversionMeasurementWithHashedEmailAddressOptions): Promise; /** * Initiates on-device conversion measurement with a hashed phone number. * * Only available for iOS. * * @since 7.2.0 */ initiateOnDeviceConversionMeasurementWithHashedPhoneNumber(options: InitiateOnDeviceConversionMeasurementWithHashedPhoneNumberOptions): Promise; } /** * @since 1.4.0 */ export interface GetAppInstanceIdResult { /** * The app instance id. * * Not defined if `FirebaseAnalytics.ConsentType.ANALYTICS_STORAGE` has been set to `FirebaseAnalytics.ConsentStatus.DENIED`. * * @since 1.4.0 */ appInstanceId?: string; } /** * @since 6.0.0 */ export interface SetConsentOptions { /** * The consent type. * * @since 6.0.0 */ type: ConsentType; /** * The consent status. * * @since 6.0.0 */ status: ConsentStatus; } /** * @since 0.1.0 */ export interface SetUserIdOptions { /** * @since 0.1.0 */ userId: string | null; } /** * @since 0.1.0 */ export interface SetUserPropertyOptions { /** * @since 0.1.0 */ key: string; /** * @since 0.1.0 */ value: string | null; } /** * @since 0.1.0 */ export interface SetCurrentScreenOptions { /** * @since 0.1.0 */ screenName: string | null; /** * Only available for Android and iOS. * * @default null * @since 0.1.0 */ screenClassOverride?: string | null; } /** * @since 0.1.0 */ export interface LogEventOptions { /** * The event name. * * @since 0.1.0 */ name: string; /** * The optional event params. * * @since 0.1.0 */ params?: { [key: string]: any; }; } /** * @since 0.1.0 */ export interface SetSessionTimeoutDurationOptions { /** * Duration in seconds. * * @default 1800 * @since 0.1.0 */ duration: number; } /** * @since 0.1.0 */ export interface SetEnabledOptions { /** * @since 0.1.0 */ enabled: boolean; } /** * @since 0.1.0 */ export interface IsEnabledResult { /** * @since 0.1.0 */ enabled: boolean; } /** * @since 6.0.0 */ export declare enum ConsentType { /** * @since 6.0.0 */ AdPersonalization = "AD_PERSONALIZATION", /** * @since 6.0.0 */ AdStorage = "AD_STORAGE", /** * @since 6.0.0 */ AdUserData = "AD_USER_DATA", /** * @since 6.0.0 */ AnalyticsStorage = "ANALYTICS_STORAGE", /** * @since 6.0.0 */ FunctionalityStorage = "FUNCTIONALITY_STORAGE", /** * @since 6.0.0 */ PersonalizationStorage = "PERSONALIZATION_STORAGE" } /** * @since 6.0.0 */ export declare enum ConsentStatus { /** * @since 6.0.0 */ Granted = "GRANTED", /** * @since 6.0.0 */ Denied = "DENIED" } /** * @since 8.2.0 */ export interface LogTransactionOptions { /** * The StoreKit 2 `Transaction.id` value as a numeric string. * * @since 8.2.0 */ transactionId: string; } /** * @since 7.2.0 */ export interface InitiateOnDeviceConversionMeasurementWithEmailAddressOptions { /** * The email address to initiate on-device conversion measurement with. * * @since 7.2.0 */ emailAddress: string; } /** * @since 7.2.0 */ export interface InitiateOnDeviceConversionMeasurementWithPhoneNumberOptions { /** * The phone number to initiate on-device conversion measurement with. * * @since 7.2.0 */ phoneNumber: string; } /** * @since 7.2.0 */ export interface InitiateOnDeviceConversionMeasurementWithHashedEmailAddressOptions { /** * The email address to initiate on-device conversion measurement with. * * @since 7.2.0 */ emailAddressToHash: string; } /** * @since 7.2.0 */ export interface InitiateOnDeviceConversionMeasurementWithHashedPhoneNumberOptions { /** * The phone number to initiate on-device conversion measurement with. * * @since 7.2.0 */ phoneNumberToHash: string; }