// package: akkaserverless
// file: akkaserverless/views.proto

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

import * as jspb from "google-protobuf";
import * as google_protobuf_descriptor_pb from "google-protobuf/google/protobuf/descriptor_pb";

export class View extends jspb.Message { 

    hasUpdate(): boolean;
    clearUpdate(): void;
    getUpdate(): View.Update | undefined;
    setUpdate(value?: View.Update): View;

    hasQuery(): boolean;
    clearQuery(): void;
    getQuery(): View.Query | undefined;
    setQuery(value?: View.Query): View;

    getUpdateOrQueryCase(): View.UpdateOrQueryCase;

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

export namespace View {
    export type AsObject = {
        update?: View.Update.AsObject,
        query?: View.Query.AsObject,
    }


    export class Update extends jspb.Message { 
        getTable(): string;
        setTable(value: string): Update;
        getTransformUpdates(): boolean;
        setTransformUpdates(value: boolean): Update;

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

    export namespace Update {
        export type AsObject = {
            table: string,
            transformUpdates: boolean,
        }
    }

    export class Query extends jspb.Message { 
        getQuery(): string;
        setQuery(value: string): Query;
        getTransformResults(): boolean;
        setTransformResults(value: boolean): Query;

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

    export namespace Query {
        export type AsObject = {
            query: string,
            transformResults: boolean,
        }
    }


    export enum UpdateOrQueryCase {
        UPDATE_OR_QUERY_NOT_SET = 0,
        UPDATE = 1,
        QUERY = 2,
    }

}
