import type { Ref } from 'vue';
import type { DataObject, BeforeTrackContext } from 'nuxt-utm';
type HookCleanup = () => void;
export interface UseNuxtUTMReturn {
    data: Readonly<Ref<readonly DataObject[]>>;
    trackingEnabled: Readonly<Ref<boolean>>;
    enableTracking: () => void;
    disableTracking: () => void;
    clearData: () => void;
    onBeforeTrack: (cb: (context: BeforeTrackContext) => void | Promise<void>) => HookCleanup;
    onBeforePersist: (cb: (data: DataObject) => void | Promise<void>) => HookCleanup;
    onTracked: (cb: (data: DataObject) => void | Promise<void>) => HookCleanup;
}
export declare const useNuxtUTM: () => UseNuxtUTMReturn;
export {};
