import type { CustomDimension, Instruction, TrackDownloadParams, TrackLinkParams, TrackPageViewParams, TrackSiteSearchParams, TrackSiteSearchResultClickParams, UserOptions, TrackAnchorLinkParams, TrackLinkClickParams, TrackMapInteractionParams, TrackVisibilityParams } from "./types"; declare class PiwikTracker { private urlTransformer?; private lastTrackedPageviewHref?; constructor(userOptions: UserOptions); private transformUrl; private initialize; enableHeartBeatTimer(seconds: number): void; trackSiteSearch({ keyword, count, type, searchMachine, customDimensions, }: TrackSiteSearchParams): void; trackSiteSearchResultClick({ keyword, searchResult: { title, url, type: resultType, position }, amountOfResults, amountOfResultsShown, type, customDimensions, }: TrackSiteSearchResultClickParams): void; /** * Tracks outgoing links to other sites and downloads * @deprecated Deprecated and will be removed in a future version. Use trackLinkClick() or trackAnchorLink() instead. */ trackLink({ href, linkTitle, customDimensions }: TrackLinkParams): void; trackLinkClick({ componentName, href, linkTitle, isInternalDestination, customDimensions, }: TrackLinkClickParams): void; trackAnchorLink({ anchor, linkTitle, customDimensions, }: TrackAnchorLinkParams): void; trackMapInteraction({ action, clickText, clickUrl, customDimensions, }: TrackMapInteractionParams): void; trackVisibility({ action, nameOfElementBecameVisible, customDimensions, }: TrackVisibilityParams): void; trackDownload({ downloadDescription, fileType, downloadUrl, customDimensions, }: TrackDownloadParams): void; trackPageView(params: TrackPageViewParams): void; pushCustomInstructionWithCustomDimensions(instruction: Instruction, customDimensions: CustomDimension[] | undefined): void; /** * Pushes an instruction to Piwik for execution, this is equivalent to pushing entries into the `_paq` array. * * For example: * * ```ts * pushInstruction('setDocumentTitle', document.title) * ``` * Is the equivalent of: * * ```ts * _paq.push(['setDocumentTitle', document.title]); * ``` * * @param name The name of the instruction to be executed. * @param args The arguments to pass along with the instruction. */ pushInstruction(name: string, ...args: any[]): PiwikTracker; pushCustomInstruction(instruction: Instruction): this; } export { PiwikTracker }; //# sourceMappingURL=PiwikTracker.d.ts.map