// package: skywalking.v3
// file: common/Common.proto

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

import * as jspb from "google-protobuf";

export class KeyStringValuePair extends jspb.Message { 
    getKey(): string;
    setKey(value: string): KeyStringValuePair;
    getValue(): string;
    setValue(value: string): KeyStringValuePair;

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

export namespace KeyStringValuePair {
    export type AsObject = {
        key: string,
        value: string,
    }
}

export class CPU extends jspb.Message { 
    getUsagepercent(): number;
    setUsagepercent(value: number): CPU;

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

export namespace CPU {
    export type AsObject = {
        usagepercent: number,
    }
}

export class Commands extends jspb.Message { 
    clearCommandsList(): void;
    getCommandsList(): Array<Command>;
    setCommandsList(value: Array<Command>): Commands;
    addCommands(value?: Command, index?: number): Command;

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

export namespace Commands {
    export type AsObject = {
        commandsList: Array<Command.AsObject>,
    }
}

export class Command extends jspb.Message { 
    getCommand(): string;
    setCommand(value: string): Command;
    clearArgsList(): void;
    getArgsList(): Array<KeyStringValuePair>;
    setArgsList(value: Array<KeyStringValuePair>): Command;
    addArgs(value?: KeyStringValuePair, index?: number): KeyStringValuePair;

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

export namespace Command {
    export type AsObject = {
        command: string,
        argsList: Array<KeyStringValuePair.AsObject>,
    }
}

export enum DetectPoint {
    CLIENT = 0,
    SERVER = 1,
    PROXY = 2,
}
