import { BaseEvent } from "apaas-track/core/index"; import { ApaasTrack } from "../apaas-track"; export interface ITrackClickEventOptions { collectUrl?: (location: Location) => boolean; collectElement?: (e: MouseEvent) => boolean; collectSelectors?: ICollectSelector[]; customProperty?: Array; trackElementPath?: boolean; } export interface ICollectSelector { name: string; selector: string; } export interface IClickEventProperties { name?: string; paths?: string; customProperties: Record; } export declare class ClickEvent extends BaseEvent { paths: string; customProperties: Record; name: string; constructor(apaasTrack: ApaasTrack); getProperties(): { name: string; paths: string; customProperties: Record; }; setProperties(properties: IClickEventProperties): void; } /** * 判断该元素是否需要收集点击事件 * @param target * @returns */ export declare const isElementNeedTrackClick: (target: HTMLElement | Document) => boolean; export declare const getClickEventNeedTrackTarget: (e: MouseEvent) => false | HTMLElement; /** * 获取元素文档中的路径记录 * @param element * @returns */ export declare const getPaths: (element: HTMLElement) => string; export declare const isSelectorElementNeedTrack: (element: Element | Document, e: MouseEvent) => boolean; export declare const trackClickEvent: (apaasTrack: ApaasTrack, trackClickEventOptions?: ITrackClickEventOptions) => void; export declare const registerClickEvent: (options?: ITrackClickEventOptions) => void; export interface IClickApaasTrack extends ApaasTrack { executeClickEvent(property: IClickEventProperties | Record, e?: MouseEvent): void; }