import { Rpc } from "../../helpers";
import { QueryClient } from "@cosmjs/stargate";
import { QueryPerpetualFeeParamsRequest, QueryPerpetualFeeParamsResponse, QueryUserFeeTierRequest, QueryUserFeeTierResponse, QueryPerMarketFeeDiscountParamsRequest, QueryPerMarketFeeDiscountParamsResponse, QueryAllMarketFeeDiscountParamsRequest, QueryAllMarketFeeDiscountParamsResponse, QueryStakingTiersRequest, QueryStakingTiersResponse, QueryUserStakingTierRequest, QueryUserStakingTierResponse } from "./query";
/** Query defines the gRPC querier service. */
export interface Query {
    /** Queries the PerpetualFeeParams. */
    perpetualFeeParams(request?: QueryPerpetualFeeParamsRequest): Promise<QueryPerpetualFeeParamsResponse>;
    /** Queries a user's fee tier */
    userFeeTier(request: QueryUserFeeTierRequest): Promise<QueryUserFeeTierResponse>;
    /**
     * PerMarketFeeDiscountParams queries fee discount parameters for a
     * specific market/CLOB pair.
     */
    perMarketFeeDiscountParams(request: QueryPerMarketFeeDiscountParamsRequest): Promise<QueryPerMarketFeeDiscountParamsResponse>;
    /** AllMarketFeeDiscountParams queries all per-market fee discount parameters. */
    allMarketFeeDiscountParams(request?: QueryAllMarketFeeDiscountParamsRequest): Promise<QueryAllMarketFeeDiscountParamsResponse>;
    /** Get all staking tiers */
    stakingTiers(request?: QueryStakingTiersRequest): Promise<QueryStakingTiersResponse>;
    /** Get user's current staked amount and staking tier */
    userStakingTier(request: QueryUserStakingTierRequest): Promise<QueryUserStakingTierResponse>;
}
export declare class QueryClientImpl implements Query {
    private readonly rpc;
    constructor(rpc: Rpc);
    perpetualFeeParams(request?: QueryPerpetualFeeParamsRequest): Promise<QueryPerpetualFeeParamsResponse>;
    userFeeTier(request: QueryUserFeeTierRequest): Promise<QueryUserFeeTierResponse>;
    perMarketFeeDiscountParams(request: QueryPerMarketFeeDiscountParamsRequest): Promise<QueryPerMarketFeeDiscountParamsResponse>;
    allMarketFeeDiscountParams(request?: QueryAllMarketFeeDiscountParamsRequest): Promise<QueryAllMarketFeeDiscountParamsResponse>;
    stakingTiers(request?: QueryStakingTiersRequest): Promise<QueryStakingTiersResponse>;
    userStakingTier(request: QueryUserStakingTierRequest): Promise<QueryUserStakingTierResponse>;
}
export declare const createRpcQueryExtension: (base: QueryClient) => {
    perpetualFeeParams(request?: QueryPerpetualFeeParamsRequest): Promise<QueryPerpetualFeeParamsResponse>;
    userFeeTier(request: QueryUserFeeTierRequest): Promise<QueryUserFeeTierResponse>;
    perMarketFeeDiscountParams(request: QueryPerMarketFeeDiscountParamsRequest): Promise<QueryPerMarketFeeDiscountParamsResponse>;
    allMarketFeeDiscountParams(request?: QueryAllMarketFeeDiscountParamsRequest): Promise<QueryAllMarketFeeDiscountParamsResponse>;
    stakingTiers(request?: QueryStakingTiersRequest): Promise<QueryStakingTiersResponse>;
    userStakingTier(request: QueryUserStakingTierRequest): Promise<QueryUserStakingTierResponse>;
};
//# sourceMappingURL=query.rpc.Query.d.ts.map