// @generated by protobuf-ts 2.11.1 with parameter add_pb_suffix
// @generated from protobuf file "injective/auction/v1beta1/query.proto" (package "injective.auction.v1beta1", syntax proto3)
// tslint:disable
import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
import { Query } from "./query_pb";
import type { QueryVoucherResponse } from "./query_pb";
import type { QueryVoucherRequest } from "./query_pb";
import type { QueryVouchersResponse } from "./query_pb";
import type { QueryVouchersRequest } from "./query_pb";
import type { QueryLastAuctionResultResponse } from "./query_pb";
import type { QueryLastAuctionResultRequest } from "./query_pb";
import type { QueryModuleStateResponse } from "./query_pb";
import type { QueryModuleStateRequest } from "./query_pb";
import type { QueryCurrentAuctionBasketResponse } from "./query_pb";
import type { QueryCurrentAuctionBasketRequest } from "./query_pb";
import { stackIntercept } from "@protobuf-ts/runtime-rpc";
import type { QueryAuctionParamsResponse } from "./query_pb";
import type { QueryAuctionParamsRequest } from "./query_pb";
import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
/**
 * Query defines the gRPC querier service.
 *
 * @generated from protobuf service injective.auction.v1beta1.Query
 */
export interface IQueryClient {
    /**
     * Retrieves auction params
     *
     * @generated from protobuf rpc: AuctionParams
     */
    auctionParams(input: QueryAuctionParamsRequest, options?: RpcOptions): UnaryCall<QueryAuctionParamsRequest, QueryAuctionParamsResponse>;
    /**
     * Retrieves current auction basket with current highest bid and bidder
     *
     * @generated from protobuf rpc: CurrentAuctionBasket
     */
    currentAuctionBasket(input: QueryCurrentAuctionBasketRequest, options?: RpcOptions): UnaryCall<QueryCurrentAuctionBasketRequest, QueryCurrentAuctionBasketResponse>;
    /**
     * Retrieves the entire auction module's state
     *
     * @generated from protobuf rpc: AuctionModuleState
     */
    auctionModuleState(input: QueryModuleStateRequest, options?: RpcOptions): UnaryCall<QueryModuleStateRequest, QueryModuleStateResponse>;
    /**
     * @generated from protobuf rpc: LastAuctionResult
     */
    lastAuctionResult(input: QueryLastAuctionResultRequest, options?: RpcOptions): UnaryCall<QueryLastAuctionResultRequest, QueryLastAuctionResultResponse>;
    /**
     * Vouchers retrieves all outstanding vouchers; pass an empty denom to get all
     *
     * @generated from protobuf rpc: Vouchers
     */
    vouchers(input: QueryVouchersRequest, options?: RpcOptions): UnaryCall<QueryVouchersRequest, QueryVouchersResponse>;
    /**
     * Voucher retrieves a single voucher for a given denom and address
     *
     * @generated from protobuf rpc: Voucher
     */
    voucher(input: QueryVoucherRequest, options?: RpcOptions): UnaryCall<QueryVoucherRequest, QueryVoucherResponse>;
}
/**
 * Query defines the gRPC querier service.
 *
 * @generated from protobuf service injective.auction.v1beta1.Query
 */
export class QueryClient implements IQueryClient, ServiceInfo {
    typeName = Query.typeName;
    methods = Query.methods;
    options = Query.options;
    constructor(private readonly _transport: RpcTransport) {
    }
    /**
     * Retrieves auction params
     *
     * @generated from protobuf rpc: AuctionParams
     */
    auctionParams(input: QueryAuctionParamsRequest, options?: RpcOptions): UnaryCall<QueryAuctionParamsRequest, QueryAuctionParamsResponse> {
        const method = this.methods[0], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryAuctionParamsRequest, QueryAuctionParamsResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves current auction basket with current highest bid and bidder
     *
     * @generated from protobuf rpc: CurrentAuctionBasket
     */
    currentAuctionBasket(input: QueryCurrentAuctionBasketRequest, options?: RpcOptions): UnaryCall<QueryCurrentAuctionBasketRequest, QueryCurrentAuctionBasketResponse> {
        const method = this.methods[1], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryCurrentAuctionBasketRequest, QueryCurrentAuctionBasketResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves the entire auction module's state
     *
     * @generated from protobuf rpc: AuctionModuleState
     */
    auctionModuleState(input: QueryModuleStateRequest, options?: RpcOptions): UnaryCall<QueryModuleStateRequest, QueryModuleStateResponse> {
        const method = this.methods[2], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryModuleStateRequest, QueryModuleStateResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: LastAuctionResult
     */
    lastAuctionResult(input: QueryLastAuctionResultRequest, options?: RpcOptions): UnaryCall<QueryLastAuctionResultRequest, QueryLastAuctionResultResponse> {
        const method = this.methods[3], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryLastAuctionResultRequest, QueryLastAuctionResultResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Vouchers retrieves all outstanding vouchers; pass an empty denom to get all
     *
     * @generated from protobuf rpc: Vouchers
     */
    vouchers(input: QueryVouchersRequest, options?: RpcOptions): UnaryCall<QueryVouchersRequest, QueryVouchersResponse> {
        const method = this.methods[4], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryVouchersRequest, QueryVouchersResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Voucher retrieves a single voucher for a given denom and address
     *
     * @generated from protobuf rpc: Voucher
     */
    voucher(input: QueryVoucherRequest, options?: RpcOptions): UnaryCall<QueryVoucherRequest, QueryVoucherResponse> {
        const method = this.methods[5], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryVoucherRequest, QueryVoucherResponse>("unary", this._transport, method, opt, input);
    }
}
