// package: injective_auction_rpc
// file: injective_auction_rpc.proto

import * as jspb from "google-protobuf";

export class AuctionRequest extends jspb.Message {
  getRound(): number;
  setRound(value: number): void;

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

export namespace AuctionRequest {
  export type AsObject = {
    round: number,
  }
}

export class AuctionResponse extends jspb.Message {
  hasAuction(): boolean;
  clearAuction(): void;
  getAuction(): Auction | undefined;
  setAuction(value?: Auction): void;

  clearBidsList(): void;
  getBidsList(): Array<Bid>;
  setBidsList(value: Array<Bid>): void;
  addBids(value?: Bid, index?: number): Bid;

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

export namespace AuctionResponse {
  export type AsObject = {
    auction?: Auction.AsObject,
    bidsList: Array<Bid.AsObject>,
  }
}

export class Auction extends jspb.Message {
  getWinner(): string;
  setWinner(value: string): void;

  clearBasketList(): void;
  getBasketList(): Array<Coin>;
  setBasketList(value: Array<Coin>): void;
  addBasket(value?: Coin, index?: number): Coin;

  getWinningBidAmount(): string;
  setWinningBidAmount(value: string): void;

  getRound(): number;
  setRound(value: number): void;

  getEndTimestamp(): number;
  setEndTimestamp(value: number): void;

  getUpdatedAt(): number;
  setUpdatedAt(value: number): void;

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

export namespace Auction {
  export type AsObject = {
    winner: string,
    basketList: Array<Coin.AsObject>,
    winningBidAmount: string,
    round: number,
    endTimestamp: number,
    updatedAt: number,
  }
}

export class Coin extends jspb.Message {
  getDenom(): string;
  setDenom(value: string): void;

  getAmount(): string;
  setAmount(value: string): void;

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

export namespace Coin {
  export type AsObject = {
    denom: string,
    amount: string,
  }
}

export class Bid extends jspb.Message {
  getBidder(): string;
  setBidder(value: string): void;

  getAmount(): string;
  setAmount(value: string): void;

  getTimestamp(): number;
  setTimestamp(value: number): void;

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

export namespace Bid {
  export type AsObject = {
    bidder: string,
    amount: string,
    timestamp: number,
  }
}

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

export namespace AuctionsRequest {
  export type AsObject = {
  }
}

export class AuctionsResponse extends jspb.Message {
  clearAuctionsList(): void;
  getAuctionsList(): Array<Auction>;
  setAuctionsList(value: Array<Auction>): void;
  addAuctions(value?: Auction, index?: number): Auction;

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

export namespace AuctionsResponse {
  export type AsObject = {
    auctionsList: Array<Auction.AsObject>,
  }
}

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

export namespace StreamBidsRequest {
  export type AsObject = {
  }
}

export class StreamBidsResponse extends jspb.Message {
  getBidder(): string;
  setBidder(value: string): void;

  getBidAmount(): string;
  setBidAmount(value: string): void;

  getRound(): number;
  setRound(value: number): void;

  getTimestamp(): number;
  setTimestamp(value: number): void;

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

export namespace StreamBidsResponse {
  export type AsObject = {
    bidder: string,
    bidAmount: string,
    round: number,
    timestamp: number,
  }
}

