declare module 'yux-track-report'{
    export default class TrackReport{
        constructor(appId: string,options:Object);
        trackPV(properties:Object, callback?:Function):void
        trackEvent(eventName:string, properties:Object, callback?:Function, event_type?:string):void
        setEventCustomProperties(prop:Object, isCover?:boolean):void
        deleteEventCustomProperties(prop_name:string):void
        removeAllCustomProperties():void
        getEventCustomProperties():void
        initAutoTR():void
        updateObserver():void
        disconnectObserver():void
        initAutoClickTR():void
        addListener(element:Element):void
        removeListener(element:Element):void
        addConsumingTimeListener(eventName:string):void
        use<T>(key:string,options:T):void
        PBD:{
            automaticHandler():void
        }
    }
    export interface IPBDOptions{
        min_limit?: number
        min_duration?: number
        max_noBehavior?: number
        isUrlListening?: Function | boolean
        debug?: boolean
        page_id: string
        sendData: (eventData:{$event_duration:number,$url:string,$start_time:string,$current_time:string}) => void
        isWatchBeat?: boolean
        watchBeatDuration?: number
        watchBeatUpdate?: (count: number) => void
        watchBeatDurationDone?: () => void
    }
}