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

import * as jspb from "google-protobuf";
import * as gogoproto_gogo_pb from "../../../gogoproto/gogo_pb";
import * as routerprotocol_routerchain_metastore_params_pb from "../../../routerprotocol/routerchain/metastore/params_pb";
import * as routerprotocol_routerchain_metastore_meta_info_pb from "../../../routerprotocol/routerchain/metastore/meta_info_pb";
import * as routerprotocol_routerchain_metastore_metadata_request_pb from "../../../routerprotocol/routerchain/metastore/metadata_request_pb";

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

  clearMetainfolistList(): void;
  getMetainfolistList(): Array<routerprotocol_routerchain_metastore_meta_info_pb.MetaInfo>;
  setMetainfolistList(value: Array<routerprotocol_routerchain_metastore_meta_info_pb.MetaInfo>): void;
  addMetainfolist(value?: routerprotocol_routerchain_metastore_meta_info_pb.MetaInfo, index?: number): routerprotocol_routerchain_metastore_meta_info_pb.MetaInfo;

  clearMetadatarequestlistList(): void;
  getMetadatarequestlistList(): Array<routerprotocol_routerchain_metastore_metadata_request_pb.MetadataRequest>;
  setMetadatarequestlistList(value: Array<routerprotocol_routerchain_metastore_metadata_request_pb.MetadataRequest>): void;
  addMetadatarequestlist(value?: routerprotocol_routerchain_metastore_metadata_request_pb.MetadataRequest, index?: number): routerprotocol_routerchain_metastore_metadata_request_pb.MetadataRequest;

  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_metastore_params_pb.Params.AsObject,
    metainfolistList: Array<routerprotocol_routerchain_metastore_meta_info_pb.MetaInfo.AsObject>,
    metadatarequestlistList: Array<routerprotocol_routerchain_metastore_metadata_request_pb.MetadataRequest.AsObject>,
  }
}

