// package: akkaserverless.component.action
// file: akkaserverless/component/action/action.proto

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

import * as jspb from "google-protobuf";
import * as akkaserverless_component_component_pb from "../../../akkaserverless/component/component_pb";
import * as google_protobuf_any_pb from "google-protobuf/google/protobuf/any_pb";

export class ActionCommand extends jspb.Message { 
    getServiceName(): string;
    setServiceName(value: string): ActionCommand;
    getName(): string;
    setName(value: string): ActionCommand;

    hasPayload(): boolean;
    clearPayload(): void;
    getPayload(): google_protobuf_any_pb.Any | undefined;
    setPayload(value?: google_protobuf_any_pb.Any): ActionCommand;

    hasMetadata(): boolean;
    clearMetadata(): void;
    getMetadata(): akkaserverless_component_component_pb.Metadata | undefined;
    setMetadata(value?: akkaserverless_component_component_pb.Metadata): ActionCommand;

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

export namespace ActionCommand {
    export type AsObject = {
        serviceName: string,
        name: string,
        payload?: google_protobuf_any_pb.Any.AsObject,
        metadata?: akkaserverless_component_component_pb.Metadata.AsObject,
    }
}

export class ActionResponse extends jspb.Message { 

    hasFailure(): boolean;
    clearFailure(): void;
    getFailure(): akkaserverless_component_component_pb.Failure | undefined;
    setFailure(value?: akkaserverless_component_component_pb.Failure): ActionResponse;

    hasReply(): boolean;
    clearReply(): void;
    getReply(): akkaserverless_component_component_pb.Reply | undefined;
    setReply(value?: akkaserverless_component_component_pb.Reply): ActionResponse;

    hasForward(): boolean;
    clearForward(): void;
    getForward(): akkaserverless_component_component_pb.Forward | undefined;
    setForward(value?: akkaserverless_component_component_pb.Forward): ActionResponse;
    clearSideEffectsList(): void;
    getSideEffectsList(): Array<akkaserverless_component_component_pb.SideEffect>;
    setSideEffectsList(value: Array<akkaserverless_component_component_pb.SideEffect>): ActionResponse;
    addSideEffects(value?: akkaserverless_component_component_pb.SideEffect, index?: number): akkaserverless_component_component_pb.SideEffect;

    getResponseCase(): ActionResponse.ResponseCase;

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

export namespace ActionResponse {
    export type AsObject = {
        failure?: akkaserverless_component_component_pb.Failure.AsObject,
        reply?: akkaserverless_component_component_pb.Reply.AsObject,
        forward?: akkaserverless_component_component_pb.Forward.AsObject,
        sideEffectsList: Array<akkaserverless_component_component_pb.SideEffect.AsObject>,
    }

    export enum ResponseCase {
        RESPONSE_NOT_SET = 0,
        FAILURE = 1,
        REPLY = 2,
        FORWARD = 3,
    }

}
