// package: skywalking.v3
// file: browser/BrowserPerf.proto

/* tslint:disable */
/* eslint-disable */

import * as jspb from "google-protobuf";
import * as common_Common_pb from "../common/Common_pb";

export class BrowserPerfData extends jspb.Message { 
    getService(): string;
    setService(value: string): BrowserPerfData;
    getServiceversion(): string;
    setServiceversion(value: string): BrowserPerfData;
    getTime(): number;
    setTime(value: number): BrowserPerfData;
    getPagepath(): string;
    setPagepath(value: string): BrowserPerfData;
    getRedirecttime(): number;
    setRedirecttime(value: number): BrowserPerfData;
    getDnstime(): number;
    setDnstime(value: number): BrowserPerfData;
    getTtfbtime(): number;
    setTtfbtime(value: number): BrowserPerfData;
    getTcptime(): number;
    setTcptime(value: number): BrowserPerfData;
    getTranstime(): number;
    setTranstime(value: number): BrowserPerfData;
    getDomanalysistime(): number;
    setDomanalysistime(value: number): BrowserPerfData;
    getFpttime(): number;
    setFpttime(value: number): BrowserPerfData;
    getDomreadytime(): number;
    setDomreadytime(value: number): BrowserPerfData;
    getLoadpagetime(): number;
    setLoadpagetime(value: number): BrowserPerfData;
    getRestime(): number;
    setRestime(value: number): BrowserPerfData;
    getSsltime(): number;
    setSsltime(value: number): BrowserPerfData;
    getTtltime(): number;
    setTtltime(value: number): BrowserPerfData;
    getFirstpacktime(): number;
    setFirstpacktime(value: number): BrowserPerfData;
    getFmptime(): number;
    setFmptime(value: number): BrowserPerfData;

    serializeBinary(): Uint8Array;
    toObject(includeInstance?: boolean): BrowserPerfData.AsObject;
    static toObject(includeInstance: boolean, msg: BrowserPerfData): BrowserPerfData.AsObject;
    static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
    static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
    static serializeBinaryToWriter(message: BrowserPerfData, writer: jspb.BinaryWriter): void;
    static deserializeBinary(bytes: Uint8Array): BrowserPerfData;
    static deserializeBinaryFromReader(message: BrowserPerfData, reader: jspb.BinaryReader): BrowserPerfData;
}

export namespace BrowserPerfData {
    export type AsObject = {
        service: string,
        serviceversion: string,
        time: number,
        pagepath: string,
        redirecttime: number,
        dnstime: number,
        ttfbtime: number,
        tcptime: number,
        transtime: number,
        domanalysistime: number,
        fpttime: number,
        domreadytime: number,
        loadpagetime: number,
        restime: number,
        ssltime: number,
        ttltime: number,
        firstpacktime: number,
        fmptime: number,
    }
}

export class BrowserErrorLog extends jspb.Message { 
    getUniqueid(): string;
    setUniqueid(value: string): BrowserErrorLog;
    getService(): string;
    setService(value: string): BrowserErrorLog;
    getServiceversion(): string;
    setServiceversion(value: string): BrowserErrorLog;
    getTime(): number;
    setTime(value: number): BrowserErrorLog;
    getPagepath(): string;
    setPagepath(value: string): BrowserErrorLog;
    getCategory(): ErrorCategory;
    setCategory(value: ErrorCategory): BrowserErrorLog;
    getGrade(): string;
    setGrade(value: string): BrowserErrorLog;
    getMessage(): string;
    setMessage(value: string): BrowserErrorLog;
    getLine(): number;
    setLine(value: number): BrowserErrorLog;
    getCol(): number;
    setCol(value: number): BrowserErrorLog;
    getStack(): string;
    setStack(value: string): BrowserErrorLog;
    getErrorurl(): string;
    setErrorurl(value: string): BrowserErrorLog;
    getFirstreportederror(): boolean;
    setFirstreportederror(value: boolean): BrowserErrorLog;

    serializeBinary(): Uint8Array;
    toObject(includeInstance?: boolean): BrowserErrorLog.AsObject;
    static toObject(includeInstance: boolean, msg: BrowserErrorLog): BrowserErrorLog.AsObject;
    static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
    static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
    static serializeBinaryToWriter(message: BrowserErrorLog, writer: jspb.BinaryWriter): void;
    static deserializeBinary(bytes: Uint8Array): BrowserErrorLog;
    static deserializeBinaryFromReader(message: BrowserErrorLog, reader: jspb.BinaryReader): BrowserErrorLog;
}

export namespace BrowserErrorLog {
    export type AsObject = {
        uniqueid: string,
        service: string,
        serviceversion: string,
        time: number,
        pagepath: string,
        category: ErrorCategory,
        grade: string,
        message: string,
        line: number,
        col: number,
        stack: string,
        errorurl: string,
        firstreportederror: boolean,
    }
}

export enum ErrorCategory {
    AJAX = 0,
    RESOURCE = 1,
    VUE = 2,
    PROMISE = 3,
    JS = 4,
    UNKNOWN = 5,
}
