// package: skywalking.v3
// file: event/Event.proto

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

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

export class Event extends jspb.Message { 
    getUuid(): string;
    setUuid(value: string): Event;

    hasSource(): boolean;
    clearSource(): void;
    getSource(): Source | undefined;
    setSource(value?: Source): Event;
    getName(): string;
    setName(value: string): Event;
    getType(): Type;
    setType(value: Type): Event;
    getMessage(): string;
    setMessage(value: string): Event;

    getParametersMap(): jspb.Map<string, string>;
    clearParametersMap(): void;
    getStarttime(): number;
    setStarttime(value: number): Event;
    getEndtime(): number;
    setEndtime(value: number): Event;
    getLayer(): string;
    setLayer(value: string): Event;

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

export namespace Event {
    export type AsObject = {
        uuid: string,
        source?: Source.AsObject,
        name: string,
        type: Type,
        message: string,

        parametersMap: Array<[string, string]>,
        starttime: number,
        endtime: number,
        layer: string,
    }
}

export class Source extends jspb.Message { 
    getService(): string;
    setService(value: string): Source;
    getServiceinstance(): string;
    setServiceinstance(value: string): Source;
    getEndpoint(): string;
    setEndpoint(value: string): Source;

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

export namespace Source {
    export type AsObject = {
        service: string,
        serviceinstance: string,
        endpoint: string,
    }
}

export enum Type {
    NORMAL = 0,
    ERROR = 1,
}
