// package: skywalking.v3
// file: profile/Profile.proto

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

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

export class ProfileTaskCommandQuery extends jspb.Message { 
    getService(): string;
    setService(value: string): ProfileTaskCommandQuery;
    getServiceinstance(): string;
    setServiceinstance(value: string): ProfileTaskCommandQuery;
    getLastcommandtime(): number;
    setLastcommandtime(value: number): ProfileTaskCommandQuery;

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

export namespace ProfileTaskCommandQuery {
    export type AsObject = {
        service: string,
        serviceinstance: string,
        lastcommandtime: number,
    }
}

export class ThreadSnapshot extends jspb.Message { 
    getTaskid(): string;
    setTaskid(value: string): ThreadSnapshot;
    getTracesegmentid(): string;
    setTracesegmentid(value: string): ThreadSnapshot;
    getTime(): number;
    setTime(value: number): ThreadSnapshot;
    getSequence(): number;
    setSequence(value: number): ThreadSnapshot;

    hasStack(): boolean;
    clearStack(): void;
    getStack(): ThreadStack | undefined;
    setStack(value?: ThreadStack): ThreadSnapshot;

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

export namespace ThreadSnapshot {
    export type AsObject = {
        taskid: string,
        tracesegmentid: string,
        time: number,
        sequence: number,
        stack?: ThreadStack.AsObject,
    }
}

export class ThreadStack extends jspb.Message { 
    clearCodesignaturesList(): void;
    getCodesignaturesList(): Array<string>;
    setCodesignaturesList(value: Array<string>): ThreadStack;
    addCodesignatures(value: string, index?: number): string;

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

export namespace ThreadStack {
    export type AsObject = {
        codesignaturesList: Array<string>,
    }
}

export class ProfileTaskFinishReport extends jspb.Message { 
    getService(): string;
    setService(value: string): ProfileTaskFinishReport;
    getServiceinstance(): string;
    setServiceinstance(value: string): ProfileTaskFinishReport;
    getTaskid(): string;
    setTaskid(value: string): ProfileTaskFinishReport;

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

export namespace ProfileTaskFinishReport {
    export type AsObject = {
        service: string,
        serviceinstance: string,
        taskid: string,
    }
}
