// package: routerprotocol.routerchain.pricefeed
// file: routerprotocol/routerchain/pricefeed/genesis.proto

import * as jspb from "google-protobuf";
import * as gogoproto_gogo_pb from "../../../gogoproto/gogo_pb";
import * as routerprotocol_routerchain_pricefeed_params_pb from "../../../routerprotocol/routerchain/pricefeed/params_pb";
import * as routerprotocol_routerchain_pricefeed_price_pb from "../../../routerprotocol/routerchain/pricefeed/price_pb";
import * as routerprotocol_routerchain_pricefeed_symbol_request_pb from "../../../routerprotocol/routerchain/pricefeed/symbol_request_pb";
import * as routerprotocol_routerchain_pricefeed_price_feeder_info_pb from "../../../routerprotocol/routerchain/pricefeed/price_feeder_info_pb";
import * as routerprotocol_routerchain_pricefeed_gas_price_pb from "../../../routerprotocol/routerchain/pricefeed/gas_price_pb";

export class GenesisState extends jspb.Message {
  hasParams(): boolean;
  clearParams(): void;
  getParams(): routerprotocol_routerchain_pricefeed_params_pb.Params | undefined;
  setParams(value?: routerprotocol_routerchain_pricefeed_params_pb.Params): void;

  getPortId(): string;
  setPortId(value: string): void;

  clearPricelistList(): void;
  getPricelistList(): Array<routerprotocol_routerchain_pricefeed_price_pb.Price>;
  setPricelistList(value: Array<routerprotocol_routerchain_pricefeed_price_pb.Price>): void;
  addPricelist(value?: routerprotocol_routerchain_pricefeed_price_pb.Price, index?: number): routerprotocol_routerchain_pricefeed_price_pb.Price;

  clearSymbolrequestlistList(): void;
  getSymbolrequestlistList(): Array<routerprotocol_routerchain_pricefeed_symbol_request_pb.SymbolRequest>;
  setSymbolrequestlistList(value: Array<routerprotocol_routerchain_pricefeed_symbol_request_pb.SymbolRequest>): void;
  addSymbolrequestlist(value?: routerprotocol_routerchain_pricefeed_symbol_request_pb.SymbolRequest, index?: number): routerprotocol_routerchain_pricefeed_symbol_request_pb.SymbolRequest;

  clearPricefeederinfolistList(): void;
  getPricefeederinfolistList(): Array<routerprotocol_routerchain_pricefeed_price_feeder_info_pb.PriceFeederInfo>;
  setPricefeederinfolistList(value: Array<routerprotocol_routerchain_pricefeed_price_feeder_info_pb.PriceFeederInfo>): void;
  addPricefeederinfolist(value?: routerprotocol_routerchain_pricefeed_price_feeder_info_pb.PriceFeederInfo, index?: number): routerprotocol_routerchain_pricefeed_price_feeder_info_pb.PriceFeederInfo;

  clearGaspricelistList(): void;
  getGaspricelistList(): Array<routerprotocol_routerchain_pricefeed_gas_price_pb.GasPrice>;
  setGaspricelistList(value: Array<routerprotocol_routerchain_pricefeed_gas_price_pb.GasPrice>): void;
  addGaspricelist(value?: routerprotocol_routerchain_pricefeed_gas_price_pb.GasPrice, index?: number): routerprotocol_routerchain_pricefeed_gas_price_pb.GasPrice;

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

export namespace GenesisState {
  export type AsObject = {
    params?: routerprotocol_routerchain_pricefeed_params_pb.Params.AsObject,
    portId: string,
    pricelistList: Array<routerprotocol_routerchain_pricefeed_price_pb.Price.AsObject>,
    symbolrequestlistList: Array<routerprotocol_routerchain_pricefeed_symbol_request_pb.SymbolRequest.AsObject>,
    pricefeederinfolistList: Array<routerprotocol_routerchain_pricefeed_price_feeder_info_pb.PriceFeederInfo.AsObject>,
    gaspricelistList: Array<routerprotocol_routerchain_pricefeed_gas_price_pb.GasPrice.AsObject>,
  }
}

