import { GTMPurchasePayload } from '../@types/gtm';
declare class GTM {
    private baseEventData;
    dataLayer: Record<string, any>[];
    private logging;
    constructor(baseEventData?: Record<string, any>, dataLayer?: Record<string, any>[], logging?: boolean);
    private logger;
    private constructDataObject;
    push: (event: string, data?: Record<string, any>) => void;
    purchase: (data: GTMPurchasePayload) => void;
}
declare const useGTM: (baseEventData?: Record<string, any>, dataLayer?: Record<string, any>[], logging?: boolean) => GTM;
export * from '../@types/gtm';
export { useGTM, GTM };
