// @generated by protobuf-ts 2.11.1 with parameter add_pb_suffix
// @generated from protobuf file "injective/insurance/v1beta1/query.proto" (package "injective.insurance.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 { QueryFailedRedemptionsResponse } from "./query_pb";
import type { QueryFailedRedemptionsRequest } from "./query_pb";
import type { QueryModuleStateResponse } from "./query_pb";
import type { QueryModuleStateRequest } from "./query_pb";
import type { QueryPendingRedemptionsResponse } from "./query_pb";
import type { QueryPendingRedemptionsRequest } from "./query_pb";
import type { QueryEstimatedRedemptionsResponse } from "./query_pb";
import type { QueryEstimatedRedemptionsRequest } from "./query_pb";
import type { QueryInsuranceFundsResponse } from "./query_pb";
import type { QueryInsuranceFundsRequest } from "./query_pb";
import type { QueryInsuranceFundResponse } from "./query_pb";
import type { QueryInsuranceFundRequest } from "./query_pb";
import { stackIntercept } from "@protobuf-ts/runtime-rpc";
import type { QueryInsuranceParamsResponse } from "./query_pb";
import type { QueryInsuranceParamsRequest } 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.insurance.v1beta1.Query
 */
export interface IQueryClient {
    /**
     * Retrieves insurance params
     *
     * @generated from protobuf rpc: InsuranceParams
     */
    insuranceParams(input: QueryInsuranceParamsRequest, options?: RpcOptions): UnaryCall<QueryInsuranceParamsRequest, QueryInsuranceParamsResponse>;
    /**
     * Retrieves individual insurance fund information from market id
     *
     * @generated from protobuf rpc: InsuranceFund
     */
    insuranceFund(input: QueryInsuranceFundRequest, options?: RpcOptions): UnaryCall<QueryInsuranceFundRequest, QueryInsuranceFundResponse>;
    /**
     * Retrieves all insurance funds
     *
     * @generated from protobuf rpc: InsuranceFunds
     */
    insuranceFunds(input: QueryInsuranceFundsRequest, options?: RpcOptions): UnaryCall<QueryInsuranceFundsRequest, QueryInsuranceFundsResponse>;
    /**
     * Retrives the value of insurance fund share token at current price (not
     * pending redemption)
     *
     * @generated from protobuf rpc: EstimatedRedemptions
     */
    estimatedRedemptions(input: QueryEstimatedRedemptionsRequest, options?: RpcOptions): UnaryCall<QueryEstimatedRedemptionsRequest, QueryEstimatedRedemptionsResponse>;
    /**
     * Retrieves pending redemptions' share token at current price
     *
     * @generated from protobuf rpc: PendingRedemptions
     */
    pendingRedemptions(input: QueryPendingRedemptionsRequest, options?: RpcOptions): UnaryCall<QueryPendingRedemptionsRequest, QueryPendingRedemptionsResponse>;
    /**
     * Retrieves the entire insurance module's state
     *
     * @generated from protobuf rpc: InsuranceModuleState
     */
    insuranceModuleState(input: QueryModuleStateRequest, options?: RpcOptions): UnaryCall<QueryModuleStateRequest, QueryModuleStateResponse>;
    /**
     * Retrieves all failed redemption schedules
     *
     * @generated from protobuf rpc: FailedRedemptions
     */
    failedRedemptions(input: QueryFailedRedemptionsRequest, options?: RpcOptions): UnaryCall<QueryFailedRedemptionsRequest, QueryFailedRedemptionsResponse>;
    /**
     * 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.insurance.v1beta1.Query
 */
export class QueryClient implements IQueryClient, ServiceInfo {
    typeName = Query.typeName;
    methods = Query.methods;
    options = Query.options;
    constructor(private readonly _transport: RpcTransport) {
    }
    /**
     * Retrieves insurance params
     *
     * @generated from protobuf rpc: InsuranceParams
     */
    insuranceParams(input: QueryInsuranceParamsRequest, options?: RpcOptions): UnaryCall<QueryInsuranceParamsRequest, QueryInsuranceParamsResponse> {
        const method = this.methods[0], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryInsuranceParamsRequest, QueryInsuranceParamsResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves individual insurance fund information from market id
     *
     * @generated from protobuf rpc: InsuranceFund
     */
    insuranceFund(input: QueryInsuranceFundRequest, options?: RpcOptions): UnaryCall<QueryInsuranceFundRequest, QueryInsuranceFundResponse> {
        const method = this.methods[1], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryInsuranceFundRequest, QueryInsuranceFundResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves all insurance funds
     *
     * @generated from protobuf rpc: InsuranceFunds
     */
    insuranceFunds(input: QueryInsuranceFundsRequest, options?: RpcOptions): UnaryCall<QueryInsuranceFundsRequest, QueryInsuranceFundsResponse> {
        const method = this.methods[2], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryInsuranceFundsRequest, QueryInsuranceFundsResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrives the value of insurance fund share token at current price (not
     * pending redemption)
     *
     * @generated from protobuf rpc: EstimatedRedemptions
     */
    estimatedRedemptions(input: QueryEstimatedRedemptionsRequest, options?: RpcOptions): UnaryCall<QueryEstimatedRedemptionsRequest, QueryEstimatedRedemptionsResponse> {
        const method = this.methods[3], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryEstimatedRedemptionsRequest, QueryEstimatedRedemptionsResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves pending redemptions' share token at current price
     *
     * @generated from protobuf rpc: PendingRedemptions
     */
    pendingRedemptions(input: QueryPendingRedemptionsRequest, options?: RpcOptions): UnaryCall<QueryPendingRedemptionsRequest, QueryPendingRedemptionsResponse> {
        const method = this.methods[4], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryPendingRedemptionsRequest, QueryPendingRedemptionsResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves the entire insurance module's state
     *
     * @generated from protobuf rpc: InsuranceModuleState
     */
    insuranceModuleState(input: QueryModuleStateRequest, options?: RpcOptions): UnaryCall<QueryModuleStateRequest, QueryModuleStateResponse> {
        const method = this.methods[5], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryModuleStateRequest, QueryModuleStateResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves all failed redemption schedules
     *
     * @generated from protobuf rpc: FailedRedemptions
     */
    failedRedemptions(input: QueryFailedRedemptionsRequest, options?: RpcOptions): UnaryCall<QueryFailedRedemptionsRequest, QueryFailedRedemptionsResponse> {
        const method = this.methods[6], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryFailedRedemptionsRequest, QueryFailedRedemptionsResponse>("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[7], 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[8], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryVoucherRequest, QueryVoucherResponse>("unary", this._transport, method, opt, input);
    }
}
