interface UserConfig {
    timeCount?: boolean;
    mouseMovement?: boolean;
    mouseMovementInterval: number;
    clicks?: boolean;
    mousePageChange?: boolean;
    keyLogger?: boolean;
    contextChange?: boolean;
    mouseScroll?: boolean;
    processTime: number | false;
    processData?: false | ((data: any) => any);
    clearAfterProcess?: boolean;
    userInfo?: boolean;
}

declare class UserBehaviour {
    private defaults;
    private user_config;
    private mem;
    private results;
    constructor(defaults: UserConfig);
    resetResults(): void;
    getTimeStamp(): string;
    config(ob: UserConfig): void;
    start(): void;
    processResults(): void;
    stop(): void;
    result(): any;
    showConfig(): UserConfig;
}

declare global {
    interface Window {
        userBehaviour: any;
    }
}

export { UserConfig, UserBehaviour as default };
