import { Rpc } from "../../../helpers";
import { QueryClient } from "@cosmjs/stargate";
import { QueryVaultsRequest, QueryVaultsResponse, QueryVaultRequest, QueryVaultResponse, QueryLocksRequest, QueryLocksResponse, QueryLockRequest, QueryLockResponse, QueryStakeRequest, QueryStakeResponse, QueryParamsRequest, QueryParamsResponse } from "./query";
/** Query defines the gRPC querier service. */
export interface Query {
    /** Vaults returns a list of vault. */
    vaults(request?: QueryVaultsRequest): Promise<QueryVaultsResponse>;
    /** Vault returns a vault information. */
    vault(request: QueryVaultRequest): Promise<QueryVaultResponse>;
    /** Locks returns all lock information for a specified address. */
    locks(request: QueryLocksRequest): Promise<QueryLocksResponse>;
    /** Lock returns a lock information for a specified address and a vault. */
    lock(request: QueryLockRequest): Promise<QueryLockResponse>;
    /** Stake returns stake information for a specific address. */
    stake(request: QueryStakeRequest): Promise<QueryStakeResponse>;
    /** Params returns all parameters of the module. */
    params(request?: QueryParamsRequest): Promise<QueryParamsResponse>;
}
export declare class QueryClientImpl implements Query {
    private readonly rpc;
    constructor(rpc: Rpc);
    vaults(request?: QueryVaultsRequest): Promise<QueryVaultsResponse>;
    vault(request: QueryVaultRequest): Promise<QueryVaultResponse>;
    locks(request: QueryLocksRequest): Promise<QueryLocksResponse>;
    lock(request: QueryLockRequest): Promise<QueryLockResponse>;
    stake(request: QueryStakeRequest): Promise<QueryStakeResponse>;
    params(request?: QueryParamsRequest): Promise<QueryParamsResponse>;
}
export declare const createRpcQueryExtension: (base: QueryClient) => {
    vaults(request?: QueryVaultsRequest): Promise<QueryVaultsResponse>;
    vault(request: QueryVaultRequest): Promise<QueryVaultResponse>;
    locks(request: QueryLocksRequest): Promise<QueryLocksResponse>;
    lock(request: QueryLockRequest): Promise<QueryLockResponse>;
    stake(request: QueryStakeRequest): Promise<QueryStakeResponse>;
    params(request?: QueryParamsRequest): Promise<QueryParamsResponse>;
};
