// package: provenance.trigger.v1
// file: provenance/trigger/v1/trigger.proto

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

import * as jspb from "google-protobuf";
import * as cosmos_proto_cosmos_pb from "../../../cosmos_proto/cosmos_pb";
import * as gogoproto_gogo_pb from "../../../gogoproto/gogo_pb";
import * as google_protobuf_any_pb from "google-protobuf/google/protobuf/any_pb";
import * as google_protobuf_timestamp_pb from "google-protobuf/google/protobuf/timestamp_pb";

export class Trigger extends jspb.Message { 
    getId(): number;
    setId(value: number): Trigger;
    getOwner(): string;
    setOwner(value: string): Trigger;

    hasEvent(): boolean;
    clearEvent(): void;
    getEvent(): google_protobuf_any_pb.Any | undefined;
    setEvent(value?: google_protobuf_any_pb.Any): Trigger;
    clearActionsList(): void;
    getActionsList(): Array<google_protobuf_any_pb.Any>;
    setActionsList(value: Array<google_protobuf_any_pb.Any>): Trigger;
    addActions(value?: google_protobuf_any_pb.Any, index?: number): google_protobuf_any_pb.Any;

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

export namespace Trigger {
    export type AsObject = {
        id: number,
        owner: string,
        event?: google_protobuf_any_pb.Any.AsObject,
        actionsList: Array<google_protobuf_any_pb.Any.AsObject>,
    }
}

export class QueuedTrigger extends jspb.Message { 
    getBlockHeight(): number;
    setBlockHeight(value: number): QueuedTrigger;

    hasTime(): boolean;
    clearTime(): void;
    getTime(): google_protobuf_timestamp_pb.Timestamp | undefined;
    setTime(value?: google_protobuf_timestamp_pb.Timestamp): QueuedTrigger;

    hasTrigger(): boolean;
    clearTrigger(): void;
    getTrigger(): Trigger | undefined;
    setTrigger(value?: Trigger): QueuedTrigger;

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

export namespace QueuedTrigger {
    export type AsObject = {
        blockHeight: number,
        time?: google_protobuf_timestamp_pb.Timestamp.AsObject,
        trigger?: Trigger.AsObject,
    }
}

export class BlockHeightEvent extends jspb.Message { 
    getBlockHeight(): number;
    setBlockHeight(value: number): BlockHeightEvent;

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

export namespace BlockHeightEvent {
    export type AsObject = {
        blockHeight: number,
    }
}

export class BlockTimeEvent extends jspb.Message { 

    hasTime(): boolean;
    clearTime(): void;
    getTime(): google_protobuf_timestamp_pb.Timestamp | undefined;
    setTime(value?: google_protobuf_timestamp_pb.Timestamp): BlockTimeEvent;

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

export namespace BlockTimeEvent {
    export type AsObject = {
        time?: google_protobuf_timestamp_pb.Timestamp.AsObject,
    }
}

export class TransactionEvent extends jspb.Message { 
    getName(): string;
    setName(value: string): TransactionEvent;
    clearAttributesList(): void;
    getAttributesList(): Array<Attribute>;
    setAttributesList(value: Array<Attribute>): TransactionEvent;
    addAttributes(value?: Attribute, index?: number): Attribute;

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

export namespace TransactionEvent {
    export type AsObject = {
        name: string,
        attributesList: Array<Attribute.AsObject>,
    }
}

export class Attribute extends jspb.Message { 
    getName(): string;
    setName(value: string): Attribute;
    getValue(): string;
    setValue(value: string): Attribute;

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

export namespace Attribute {
    export type AsObject = {
        name: string,
        value: string,
    }
}
