// package: cosmos.staking.v1beta1
// file: cosmos/staking/v1beta1/query.proto

import * as jspb from "google-protobuf";
import * as cosmos_base_query_v1beta1_pagination_pb from "../../../cosmos/base/query/v1beta1/pagination_pb";
import * as gogoproto_gogo_pb from "../../../gogoproto/gogo_pb";
import * as google_api_annotations_pb from "../../../google/api/annotations_pb";
import * as cosmos_staking_v1beta1_staking_pb from "../../../cosmos/staking/v1beta1/staking_pb";
import * as cosmos_proto_cosmos_pb from "../../../cosmos_proto/cosmos_pb";
import * as cosmos_query_v1_query_pb from "../../../cosmos/query/v1/query_pb";
import * as amino_amino_pb from "../../../amino/amino_pb";

export class QueryValidatorsRequest extends jspb.Message {
  getStatus(): string;
  setStatus(value: string): void;

  hasPagination(): boolean;
  clearPagination(): void;
  getPagination(): cosmos_base_query_v1beta1_pagination_pb.PageRequest | undefined;
  setPagination(value?: cosmos_base_query_v1beta1_pagination_pb.PageRequest): void;

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

export namespace QueryValidatorsRequest {
  export type AsObject = {
    status: string,
    pagination?: cosmos_base_query_v1beta1_pagination_pb.PageRequest.AsObject,
  }
}

export class QueryValidatorsResponse extends jspb.Message {
  clearValidatorsList(): void;
  getValidatorsList(): Array<cosmos_staking_v1beta1_staking_pb.Validator>;
  setValidatorsList(value: Array<cosmos_staking_v1beta1_staking_pb.Validator>): void;
  addValidators(value?: cosmos_staking_v1beta1_staking_pb.Validator, index?: number): cosmos_staking_v1beta1_staking_pb.Validator;

  hasPagination(): boolean;
  clearPagination(): void;
  getPagination(): cosmos_base_query_v1beta1_pagination_pb.PageResponse | undefined;
  setPagination(value?: cosmos_base_query_v1beta1_pagination_pb.PageResponse): void;

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

export namespace QueryValidatorsResponse {
  export type AsObject = {
    validatorsList: Array<cosmos_staking_v1beta1_staking_pb.Validator.AsObject>,
    pagination?: cosmos_base_query_v1beta1_pagination_pb.PageResponse.AsObject,
  }
}

export class QueryValidatorRequest extends jspb.Message {
  getValidatorAddr(): string;
  setValidatorAddr(value: string): void;

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

export namespace QueryValidatorRequest {
  export type AsObject = {
    validatorAddr: string,
  }
}

export class QueryValidatorResponse extends jspb.Message {
  hasValidator(): boolean;
  clearValidator(): void;
  getValidator(): cosmos_staking_v1beta1_staking_pb.Validator | undefined;
  setValidator(value?: cosmos_staking_v1beta1_staking_pb.Validator): void;

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

export namespace QueryValidatorResponse {
  export type AsObject = {
    validator?: cosmos_staking_v1beta1_staking_pb.Validator.AsObject,
  }
}

export class QueryValidatorDelegationsRequest extends jspb.Message {
  getValidatorAddr(): string;
  setValidatorAddr(value: string): void;

  hasPagination(): boolean;
  clearPagination(): void;
  getPagination(): cosmos_base_query_v1beta1_pagination_pb.PageRequest | undefined;
  setPagination(value?: cosmos_base_query_v1beta1_pagination_pb.PageRequest): void;

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

export namespace QueryValidatorDelegationsRequest {
  export type AsObject = {
    validatorAddr: string,
    pagination?: cosmos_base_query_v1beta1_pagination_pb.PageRequest.AsObject,
  }
}

export class QueryValidatorDelegationsResponse extends jspb.Message {
  clearDelegationResponsesList(): void;
  getDelegationResponsesList(): Array<cosmos_staking_v1beta1_staking_pb.DelegationResponse>;
  setDelegationResponsesList(value: Array<cosmos_staking_v1beta1_staking_pb.DelegationResponse>): void;
  addDelegationResponses(value?: cosmos_staking_v1beta1_staking_pb.DelegationResponse, index?: number): cosmos_staking_v1beta1_staking_pb.DelegationResponse;

  hasPagination(): boolean;
  clearPagination(): void;
  getPagination(): cosmos_base_query_v1beta1_pagination_pb.PageResponse | undefined;
  setPagination(value?: cosmos_base_query_v1beta1_pagination_pb.PageResponse): void;

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

export namespace QueryValidatorDelegationsResponse {
  export type AsObject = {
    delegationResponsesList: Array<cosmos_staking_v1beta1_staking_pb.DelegationResponse.AsObject>,
    pagination?: cosmos_base_query_v1beta1_pagination_pb.PageResponse.AsObject,
  }
}

export class QueryValidatorUnbondingDelegationsRequest extends jspb.Message {
  getValidatorAddr(): string;
  setValidatorAddr(value: string): void;

  hasPagination(): boolean;
  clearPagination(): void;
  getPagination(): cosmos_base_query_v1beta1_pagination_pb.PageRequest | undefined;
  setPagination(value?: cosmos_base_query_v1beta1_pagination_pb.PageRequest): void;

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

export namespace QueryValidatorUnbondingDelegationsRequest {
  export type AsObject = {
    validatorAddr: string,
    pagination?: cosmos_base_query_v1beta1_pagination_pb.PageRequest.AsObject,
  }
}

export class QueryValidatorUnbondingDelegationsResponse extends jspb.Message {
  clearUnbondingResponsesList(): void;
  getUnbondingResponsesList(): Array<cosmos_staking_v1beta1_staking_pb.UnbondingDelegation>;
  setUnbondingResponsesList(value: Array<cosmos_staking_v1beta1_staking_pb.UnbondingDelegation>): void;
  addUnbondingResponses(value?: cosmos_staking_v1beta1_staking_pb.UnbondingDelegation, index?: number): cosmos_staking_v1beta1_staking_pb.UnbondingDelegation;

  hasPagination(): boolean;
  clearPagination(): void;
  getPagination(): cosmos_base_query_v1beta1_pagination_pb.PageResponse | undefined;
  setPagination(value?: cosmos_base_query_v1beta1_pagination_pb.PageResponse): void;

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

export namespace QueryValidatorUnbondingDelegationsResponse {
  export type AsObject = {
    unbondingResponsesList: Array<cosmos_staking_v1beta1_staking_pb.UnbondingDelegation.AsObject>,
    pagination?: cosmos_base_query_v1beta1_pagination_pb.PageResponse.AsObject,
  }
}

export class QueryDelegationRequest extends jspb.Message {
  getDelegatorAddr(): string;
  setDelegatorAddr(value: string): void;

  getValidatorAddr(): string;
  setValidatorAddr(value: string): void;

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

export namespace QueryDelegationRequest {
  export type AsObject = {
    delegatorAddr: string,
    validatorAddr: string,
  }
}

export class QueryDelegationResponse extends jspb.Message {
  hasDelegationResponse(): boolean;
  clearDelegationResponse(): void;
  getDelegationResponse(): cosmos_staking_v1beta1_staking_pb.DelegationResponse | undefined;
  setDelegationResponse(value?: cosmos_staking_v1beta1_staking_pb.DelegationResponse): void;

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

export namespace QueryDelegationResponse {
  export type AsObject = {
    delegationResponse?: cosmos_staking_v1beta1_staking_pb.DelegationResponse.AsObject,
  }
}

export class QueryUnbondingDelegationRequest extends jspb.Message {
  getDelegatorAddr(): string;
  setDelegatorAddr(value: string): void;

  getValidatorAddr(): string;
  setValidatorAddr(value: string): void;

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

export namespace QueryUnbondingDelegationRequest {
  export type AsObject = {
    delegatorAddr: string,
    validatorAddr: string,
  }
}

export class QueryUnbondingDelegationResponse extends jspb.Message {
  hasUnbond(): boolean;
  clearUnbond(): void;
  getUnbond(): cosmos_staking_v1beta1_staking_pb.UnbondingDelegation | undefined;
  setUnbond(value?: cosmos_staking_v1beta1_staking_pb.UnbondingDelegation): void;

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

export namespace QueryUnbondingDelegationResponse {
  export type AsObject = {
    unbond?: cosmos_staking_v1beta1_staking_pb.UnbondingDelegation.AsObject,
  }
}

export class QueryDelegatorDelegationsRequest extends jspb.Message {
  getDelegatorAddr(): string;
  setDelegatorAddr(value: string): void;

  hasPagination(): boolean;
  clearPagination(): void;
  getPagination(): cosmos_base_query_v1beta1_pagination_pb.PageRequest | undefined;
  setPagination(value?: cosmos_base_query_v1beta1_pagination_pb.PageRequest): void;

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

export namespace QueryDelegatorDelegationsRequest {
  export type AsObject = {
    delegatorAddr: string,
    pagination?: cosmos_base_query_v1beta1_pagination_pb.PageRequest.AsObject,
  }
}

export class QueryDelegatorDelegationsResponse extends jspb.Message {
  clearDelegationResponsesList(): void;
  getDelegationResponsesList(): Array<cosmos_staking_v1beta1_staking_pb.DelegationResponse>;
  setDelegationResponsesList(value: Array<cosmos_staking_v1beta1_staking_pb.DelegationResponse>): void;
  addDelegationResponses(value?: cosmos_staking_v1beta1_staking_pb.DelegationResponse, index?: number): cosmos_staking_v1beta1_staking_pb.DelegationResponse;

  hasPagination(): boolean;
  clearPagination(): void;
  getPagination(): cosmos_base_query_v1beta1_pagination_pb.PageResponse | undefined;
  setPagination(value?: cosmos_base_query_v1beta1_pagination_pb.PageResponse): void;

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

export namespace QueryDelegatorDelegationsResponse {
  export type AsObject = {
    delegationResponsesList: Array<cosmos_staking_v1beta1_staking_pb.DelegationResponse.AsObject>,
    pagination?: cosmos_base_query_v1beta1_pagination_pb.PageResponse.AsObject,
  }
}

export class QueryDelegatorUnbondingDelegationsRequest extends jspb.Message {
  getDelegatorAddr(): string;
  setDelegatorAddr(value: string): void;

  hasPagination(): boolean;
  clearPagination(): void;
  getPagination(): cosmos_base_query_v1beta1_pagination_pb.PageRequest | undefined;
  setPagination(value?: cosmos_base_query_v1beta1_pagination_pb.PageRequest): void;

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

export namespace QueryDelegatorUnbondingDelegationsRequest {
  export type AsObject = {
    delegatorAddr: string,
    pagination?: cosmos_base_query_v1beta1_pagination_pb.PageRequest.AsObject,
  }
}

export class QueryDelegatorUnbondingDelegationsResponse extends jspb.Message {
  clearUnbondingResponsesList(): void;
  getUnbondingResponsesList(): Array<cosmos_staking_v1beta1_staking_pb.UnbondingDelegation>;
  setUnbondingResponsesList(value: Array<cosmos_staking_v1beta1_staking_pb.UnbondingDelegation>): void;
  addUnbondingResponses(value?: cosmos_staking_v1beta1_staking_pb.UnbondingDelegation, index?: number): cosmos_staking_v1beta1_staking_pb.UnbondingDelegation;

  hasPagination(): boolean;
  clearPagination(): void;
  getPagination(): cosmos_base_query_v1beta1_pagination_pb.PageResponse | undefined;
  setPagination(value?: cosmos_base_query_v1beta1_pagination_pb.PageResponse): void;

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

export namespace QueryDelegatorUnbondingDelegationsResponse {
  export type AsObject = {
    unbondingResponsesList: Array<cosmos_staking_v1beta1_staking_pb.UnbondingDelegation.AsObject>,
    pagination?: cosmos_base_query_v1beta1_pagination_pb.PageResponse.AsObject,
  }
}

export class QueryRedelegationsRequest extends jspb.Message {
  getDelegatorAddr(): string;
  setDelegatorAddr(value: string): void;

  getSrcValidatorAddr(): string;
  setSrcValidatorAddr(value: string): void;

  getDstValidatorAddr(): string;
  setDstValidatorAddr(value: string): void;

  hasPagination(): boolean;
  clearPagination(): void;
  getPagination(): cosmos_base_query_v1beta1_pagination_pb.PageRequest | undefined;
  setPagination(value?: cosmos_base_query_v1beta1_pagination_pb.PageRequest): void;

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

export namespace QueryRedelegationsRequest {
  export type AsObject = {
    delegatorAddr: string,
    srcValidatorAddr: string,
    dstValidatorAddr: string,
    pagination?: cosmos_base_query_v1beta1_pagination_pb.PageRequest.AsObject,
  }
}

export class QueryRedelegationsResponse extends jspb.Message {
  clearRedelegationResponsesList(): void;
  getRedelegationResponsesList(): Array<cosmos_staking_v1beta1_staking_pb.RedelegationResponse>;
  setRedelegationResponsesList(value: Array<cosmos_staking_v1beta1_staking_pb.RedelegationResponse>): void;
  addRedelegationResponses(value?: cosmos_staking_v1beta1_staking_pb.RedelegationResponse, index?: number): cosmos_staking_v1beta1_staking_pb.RedelegationResponse;

  hasPagination(): boolean;
  clearPagination(): void;
  getPagination(): cosmos_base_query_v1beta1_pagination_pb.PageResponse | undefined;
  setPagination(value?: cosmos_base_query_v1beta1_pagination_pb.PageResponse): void;

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

export namespace QueryRedelegationsResponse {
  export type AsObject = {
    redelegationResponsesList: Array<cosmos_staking_v1beta1_staking_pb.RedelegationResponse.AsObject>,
    pagination?: cosmos_base_query_v1beta1_pagination_pb.PageResponse.AsObject,
  }
}

export class QueryDelegatorValidatorsRequest extends jspb.Message {
  getDelegatorAddr(): string;
  setDelegatorAddr(value: string): void;

  hasPagination(): boolean;
  clearPagination(): void;
  getPagination(): cosmos_base_query_v1beta1_pagination_pb.PageRequest | undefined;
  setPagination(value?: cosmos_base_query_v1beta1_pagination_pb.PageRequest): void;

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

export namespace QueryDelegatorValidatorsRequest {
  export type AsObject = {
    delegatorAddr: string,
    pagination?: cosmos_base_query_v1beta1_pagination_pb.PageRequest.AsObject,
  }
}

export class QueryDelegatorValidatorsResponse extends jspb.Message {
  clearValidatorsList(): void;
  getValidatorsList(): Array<cosmos_staking_v1beta1_staking_pb.Validator>;
  setValidatorsList(value: Array<cosmos_staking_v1beta1_staking_pb.Validator>): void;
  addValidators(value?: cosmos_staking_v1beta1_staking_pb.Validator, index?: number): cosmos_staking_v1beta1_staking_pb.Validator;

  hasPagination(): boolean;
  clearPagination(): void;
  getPagination(): cosmos_base_query_v1beta1_pagination_pb.PageResponse | undefined;
  setPagination(value?: cosmos_base_query_v1beta1_pagination_pb.PageResponse): void;

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

export namespace QueryDelegatorValidatorsResponse {
  export type AsObject = {
    validatorsList: Array<cosmos_staking_v1beta1_staking_pb.Validator.AsObject>,
    pagination?: cosmos_base_query_v1beta1_pagination_pb.PageResponse.AsObject,
  }
}

export class QueryDelegatorValidatorRequest extends jspb.Message {
  getDelegatorAddr(): string;
  setDelegatorAddr(value: string): void;

  getValidatorAddr(): string;
  setValidatorAddr(value: string): void;

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

export namespace QueryDelegatorValidatorRequest {
  export type AsObject = {
    delegatorAddr: string,
    validatorAddr: string,
  }
}

export class QueryDelegatorValidatorResponse extends jspb.Message {
  hasValidator(): boolean;
  clearValidator(): void;
  getValidator(): cosmos_staking_v1beta1_staking_pb.Validator | undefined;
  setValidator(value?: cosmos_staking_v1beta1_staking_pb.Validator): void;

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

export namespace QueryDelegatorValidatorResponse {
  export type AsObject = {
    validator?: cosmos_staking_v1beta1_staking_pb.Validator.AsObject,
  }
}

export class QueryHistoricalInfoRequest extends jspb.Message {
  getHeight(): number;
  setHeight(value: number): void;

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

export namespace QueryHistoricalInfoRequest {
  export type AsObject = {
    height: number,
  }
}

export class QueryHistoricalInfoResponse extends jspb.Message {
  hasHist(): boolean;
  clearHist(): void;
  getHist(): cosmos_staking_v1beta1_staking_pb.HistoricalInfo | undefined;
  setHist(value?: cosmos_staking_v1beta1_staking_pb.HistoricalInfo): void;

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

export namespace QueryHistoricalInfoResponse {
  export type AsObject = {
    hist?: cosmos_staking_v1beta1_staking_pb.HistoricalInfo.AsObject,
  }
}

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

export namespace QueryPoolRequest {
  export type AsObject = {
  }
}

export class QueryPoolResponse extends jspb.Message {
  hasPool(): boolean;
  clearPool(): void;
  getPool(): cosmos_staking_v1beta1_staking_pb.Pool | undefined;
  setPool(value?: cosmos_staking_v1beta1_staking_pb.Pool): void;

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

export namespace QueryPoolResponse {
  export type AsObject = {
    pool?: cosmos_staking_v1beta1_staking_pb.Pool.AsObject,
  }
}

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

export namespace QueryParamsRequest {
  export type AsObject = {
  }
}

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

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

export namespace QueryParamsResponse {
  export type AsObject = {
    params?: cosmos_staking_v1beta1_staking_pb.Params.AsObject,
  }
}

