export declare enum AvoEnv { Prod = "prod", Dev = "dev" } export interface CustomDestination { make?(env: AvoEnv, apiKey: string): void; logEvent?: (anonymousUserId: string | null | undefined, userId: string | null | undefined, eventName: string, eventProperties: Record) => Promise; setUserProperties?: (anonymousUserId: string | null | undefined, userId: string | null | undefined, userProperties: Record) => Promise; logPage?: (anonymousUserId: string | null | undefined, userId: string | null | undefined, pageName: string, eventProperties: Record) => Promise; revenue?: (anonymousUserId: string | null | undefined, userId: string | null | undefined, amount: number, eventProperties: Record) => Promise; setGroupProperties?: (anonymousUserId: string | null | undefined, userId: string | null | undefined, groupType: string, groupId: string, groupProperties: Record) => Promise; addCurrentUserToGroup?: (anonymousUserId: string | null | undefined, userId: string | null | undefined, groupType: string, groupId: string, groupProperties: Record) => Promise; logEventWithGroups?: (anonymousUserId: string | null | undefined, userId: string | null | undefined, eventName: string, eventProperties: any, groupTypesToGroupIds: Record) => Promise; } export declare const avoInspectorApiKey = "Sa2guoQyUPO277TVxvjs"; interface AvoInspector { } interface AvoLogger { logDebug(env: AvoEnv | null, message: string): boolean; logWarn(env: AvoEnv | null, message: string): boolean; logError(env: AvoEnv | null, error: string): boolean; } export interface PageObject { pageTitle: string; pageLocation: string; pageReferrer: string; } export declare function setSystemProperties(properties: { pixelId: string; env: string; }): void; export declare function initAvo(options: { env: AvoEnv; strict?: boolean; noop?: boolean; reportFailureAs?: 'error' | 'warn' | 'log'; inspector?: AvoInspector; avoLogger?: AvoLogger; }, systemProperties: { pixelId: string; env: string; }, destinationOptions: any, PixelEndpointDestination: CustomDestination): void; export declare function setAvoLogger(avoLogger: AvoLogger | null): void; export interface PageViewedProperties { anonymousId_: string | null | undefined; userId_: string | null | undefined; pageObject?: PageObject; } /** * $page_viewed: each time the page loads or the browser history state is changed by the active site * * @param properties the properties associatied with this event * @param properties.anonymousId_: Anonymous Id is used to identify your users before they get a User Id. * @param properties.userId_: User Id is for identifying your users. * @param properties.pageObject: The property group of page * * */ export declare function pageViewed(properties: PageViewedProperties): Promise; export interface PageViewedBtpProperties { anonymousId_: string | null | undefined; userId_: string | null | undefined; pageObject?: PageObject; trackingPageId: string; } /** * $page_viewed: each time the page loads or the browser history state is changed by the active site, variant description: Branded Tracking Page page view * * @param properties the properties associatied with this event * @param properties.anonymousId_: Anonymous Id is used to identify your users before they get a User Id. * @param properties.userId_: User Id is for identifying your users. * @param properties.pageObject: The property group of page * @param properties.trackingPageId: no description * * */ export declare function pageViewedBtp(properties: PageViewedBtpProperties): Promise; declare const _default: { AvoEnv: typeof AvoEnv; initAvo: typeof initAvo; setSystemProperties: typeof setSystemProperties; avoInspectorApiKey: string; pageViewed: typeof pageViewed; pageViewedBtp: typeof pageViewedBtp; }; export default _default;