import { Access } from '@vtj/renderer';
import { Service } from '@vtj/core';
export type ReportType = 'init' | 'online' | 'event' | 'error';
export declare const excludeErrors: string[];
export interface ReportData {
    sessionId?: string;
    userId?: string;
    userName?: string;
    type: ReportType;
    engineVersion?: string;
    host?: string;
    url?: string;
    referrer?: string;
    os?: string;
    osVersion?: string;
    browser?: string;
    browserVersion?: string;
    message?: string;
    stack?: string;
    source?: string;
}
export declare class Report {
    private remote;
    private access;
    private service?;
    private api;
    private debounceSend;
    constructor(remote: string, access: Access, service?: Service | undefined);
    private bindServerError;
    private bindGlobalError;
    private getSessionId;
    private send;
    init(): Promise<void>;
    online(): Promise<void>;
    event(message: string): void;
    error(e: any, source?: any): void;
}
