// package: com.daml.ledger.api.v1
// file: com/daml/ledger/api/v1/event.proto

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

import * as jspb from "google-protobuf";
import * as com_daml_ledger_api_v1_value_pb from "../../../../../com/daml/ledger/api/v1/value_pb";
import * as google_protobuf_wrappers_pb from "google-protobuf/google/protobuf/wrappers_pb";

export class Event extends jspb.Message { 

    hasCreated(): boolean;
    clearCreated(): void;
    getCreated(): CreatedEvent | undefined;
    setCreated(value?: CreatedEvent): Event;


    hasArchived(): boolean;
    clearArchived(): void;
    getArchived(): ArchivedEvent | undefined;
    setArchived(value?: ArchivedEvent): Event;


    getEventCase(): Event.EventCase;

    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 = {
        created?: CreatedEvent.AsObject,
        archived?: ArchivedEvent.AsObject,
    }

    export enum EventCase {
        EVENT_NOT_SET = 0,
    
    CREATED = 1,

    ARCHIVED = 3,

    }

}

export class CreatedEvent extends jspb.Message { 
    getEventId(): string;
    setEventId(value: string): CreatedEvent;

    getContractId(): string;
    setContractId(value: string): CreatedEvent;


    hasTemplateId(): boolean;
    clearTemplateId(): void;
    getTemplateId(): com_daml_ledger_api_v1_value_pb.Identifier | undefined;
    setTemplateId(value?: com_daml_ledger_api_v1_value_pb.Identifier): CreatedEvent;


    hasContractKey(): boolean;
    clearContractKey(): void;
    getContractKey(): com_daml_ledger_api_v1_value_pb.Value | undefined;
    setContractKey(value?: com_daml_ledger_api_v1_value_pb.Value): CreatedEvent;


    hasCreateArguments(): boolean;
    clearCreateArguments(): void;
    getCreateArguments(): com_daml_ledger_api_v1_value_pb.Record | undefined;
    setCreateArguments(value?: com_daml_ledger_api_v1_value_pb.Record): CreatedEvent;

    clearWitnessPartiesList(): void;
    getWitnessPartiesList(): Array<string>;
    setWitnessPartiesList(value: Array<string>): CreatedEvent;
    addWitnessParties(value: string, index?: number): string;

    clearSignatoriesList(): void;
    getSignatoriesList(): Array<string>;
    setSignatoriesList(value: Array<string>): CreatedEvent;
    addSignatories(value: string, index?: number): string;

    clearObserversList(): void;
    getObserversList(): Array<string>;
    setObserversList(value: Array<string>): CreatedEvent;
    addObservers(value: string, index?: number): string;


    hasAgreementText(): boolean;
    clearAgreementText(): void;
    getAgreementText(): google_protobuf_wrappers_pb.StringValue | undefined;
    setAgreementText(value?: google_protobuf_wrappers_pb.StringValue): CreatedEvent;


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

export namespace CreatedEvent {
    export type AsObject = {
        eventId: string,
        contractId: string,
        templateId?: com_daml_ledger_api_v1_value_pb.Identifier.AsObject,
        contractKey?: com_daml_ledger_api_v1_value_pb.Value.AsObject,
        createArguments?: com_daml_ledger_api_v1_value_pb.Record.AsObject,
        witnessPartiesList: Array<string>,
        signatoriesList: Array<string>,
        observersList: Array<string>,
        agreementText?: google_protobuf_wrappers_pb.StringValue.AsObject,
    }
}

export class ArchivedEvent extends jspb.Message { 
    getEventId(): string;
    setEventId(value: string): ArchivedEvent;

    getContractId(): string;
    setContractId(value: string): ArchivedEvent;


    hasTemplateId(): boolean;
    clearTemplateId(): void;
    getTemplateId(): com_daml_ledger_api_v1_value_pb.Identifier | undefined;
    setTemplateId(value?: com_daml_ledger_api_v1_value_pb.Identifier): ArchivedEvent;

    clearWitnessPartiesList(): void;
    getWitnessPartiesList(): Array<string>;
    setWitnessPartiesList(value: Array<string>): ArchivedEvent;
    addWitnessParties(value: string, index?: number): string;


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

export namespace ArchivedEvent {
    export type AsObject = {
        eventId: string,
        contractId: string,
        templateId?: com_daml_ledger_api_v1_value_pb.Identifier.AsObject,
        witnessPartiesList: Array<string>,
    }
}

export class ExercisedEvent extends jspb.Message { 
    getEventId(): string;
    setEventId(value: string): ExercisedEvent;

    getContractId(): string;
    setContractId(value: string): ExercisedEvent;


    hasTemplateId(): boolean;
    clearTemplateId(): void;
    getTemplateId(): com_daml_ledger_api_v1_value_pb.Identifier | undefined;
    setTemplateId(value?: com_daml_ledger_api_v1_value_pb.Identifier): ExercisedEvent;

    getChoice(): string;
    setChoice(value: string): ExercisedEvent;


    hasChoiceArgument(): boolean;
    clearChoiceArgument(): void;
    getChoiceArgument(): com_daml_ledger_api_v1_value_pb.Value | undefined;
    setChoiceArgument(value?: com_daml_ledger_api_v1_value_pb.Value): ExercisedEvent;

    clearActingPartiesList(): void;
    getActingPartiesList(): Array<string>;
    setActingPartiesList(value: Array<string>): ExercisedEvent;
    addActingParties(value: string, index?: number): string;

    getConsuming(): boolean;
    setConsuming(value: boolean): ExercisedEvent;

    clearWitnessPartiesList(): void;
    getWitnessPartiesList(): Array<string>;
    setWitnessPartiesList(value: Array<string>): ExercisedEvent;
    addWitnessParties(value: string, index?: number): string;

    clearChildEventIdsList(): void;
    getChildEventIdsList(): Array<string>;
    setChildEventIdsList(value: Array<string>): ExercisedEvent;
    addChildEventIds(value: string, index?: number): string;


    hasExerciseResult(): boolean;
    clearExerciseResult(): void;
    getExerciseResult(): com_daml_ledger_api_v1_value_pb.Value | undefined;
    setExerciseResult(value?: com_daml_ledger_api_v1_value_pb.Value): ExercisedEvent;


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

export namespace ExercisedEvent {
    export type AsObject = {
        eventId: string,
        contractId: string,
        templateId?: com_daml_ledger_api_v1_value_pb.Identifier.AsObject,
        choice: string,
        choiceArgument?: com_daml_ledger_api_v1_value_pb.Value.AsObject,
        actingPartiesList: Array<string>,
        consuming: boolean,
        witnessPartiesList: Array<string>,
        childEventIdsList: Array<string>,
        exerciseResult?: com_daml_ledger_api_v1_value_pb.Value.AsObject,
    }
}
