import { Analytics, AnalyticsSettings } from 'firebase/analytics'; import { DefaultReactFirebaseServerHooksOptions } from './ServerContext'; import { DefaultOptionsOnlyAnalytics, LogEventOptions, SetUserIDOptions, SetUserPropertiesOptions } from './types'; /** * @description get firebase analytics instance for your react app * @author Achmad Kurnianto * @date 01/08/2024 * @export * @template Options * @param {Options} [options] * @returns {*} {Analytics} */ export declare function useFirebaseAnalytics(options?: Options): Analytics; /** * @description options for {@link useInitializeAnalytics} hooks * @author Achmad Kurnianto * @date 30/07/2024 * @export * @interface DefaultUseInitializeAnalyticsOptions * @extends {DefaultReactFirebaseServerHooksOptions} */ export interface DefaultUseInitializeAnalyticsOptions extends DefaultReactFirebaseServerHooksOptions { /** * @description second parameter for {@link initializeAnalytics} * @author Achmad Kurnianto * @date 30/07/2024 * @type {AnalyticsSettings} * @memberof DefaultUseInitializeAnalyticsOptions */ options?: AnalyticsSettings; } /** * @description create your own firebase analytics instance with the help of firebase {@link initializeAnalytics} method. * @author Achmad Kurnianto * @date 30/07/2024 * @export * @template Options * @param {Options} [opts] * @returns {*} */ export declare function useInitializeAnalytics(opts?: Options): Analytics; /** * @description options data type of {@link useFirebaseAnalyticsMethods}. Please note that {@link analytics} and {@link context} attribute * has XOR relationship. * @author Achmad Kurnianto * @date 30/07/2024 * @export * @interface DefaultUseFirebaseAnalyticsMethodsOptions * @extends {DefaultReactFirebaseServerHooksOptions} * @extends {DefaultOptionsOnlyAnalytics} */ export interface DefaultUseFirebaseAnalyticsMethodsOptions extends DefaultReactFirebaseServerHooksOptions, DefaultOptionsOnlyAnalytics { } /** * @description easily use firebase analytics methods which depends on its instance inside your react app. * @author Achmad Kurnianto * @date 30/07/2024 * @export * @template Options * @param {Options} [opts] * @returns {*} */ export declare function useFirebaseAnalyticsMethods(opts?: Options): { getGoogleAnalyticsClientId: () => Promise; logEvent: = LogEventOptions>(opts: Options_1) => void; setAnalyticsCollectionEnabled: (enabled: boolean) => void; setUserId: (opts: Options_1) => void; setUserProperties: (opts: Options_1) => void; };