import paginationQuery from "@kyve/proto-beta/client/cosmos/base/query/v1beta1/pagination";
import kyveQueryAccount from "@kyve/proto-beta/client/kyve/query/v1beta1/account";
import kyveQueryBundles from "@kyve/proto-beta/client/kyve/query/v1beta1/bundles";
import kyveQueryDelegation from "@kyve/proto-beta/client/kyve/query/v1beta1/delegation";
import kyveQueryParamsRes from "@kyve/proto-beta/client/kyve/query/v1beta1/params";
import kyveQueryPools from "@kyve/proto-beta/client/kyve/query/v1beta1/pools";
import kyveQueryStakers from "@kyve/proto-beta/client/kyve/query/v1beta1/stakers";
import kyveQueryAccountRes from "@kyve/proto-beta/lcd/kyve/query/v1beta1/account";
import kyveQueryBundlesRes from "@kyve/proto-beta/lcd/kyve/query/v1beta1/bundles";
import kyveQueryDelegationRes from "@kyve/proto-beta/lcd/kyve/query/v1beta1/delegation";
import kyveQueryPoolsRes from "@kyve/proto-beta/lcd/kyve/query/v1beta1/pools";
import kyveQueryStakersRes from "@kyve/proto-beta/lcd/kyve/query/v1beta1/stakers";
import { AbstractKyveLCDClient } from "../../lcd-client.abstract";
type NestedPartial<T> = {
    [K in keyof T]?: T[K] extends Array<infer R> ? Array<NestedPartial<R>> : NestedPartial<T[K]>;
};
type Overwrite<T, U> = Pick<T, Exclude<keyof T, keyof U>> & U;
type PaginationRequestType = {
    offset: string;
    limit: string;
    count_total: boolean;
    reverse: boolean;
    key: string;
};
type PaginationPartialRequestUtilType<T extends {
    pagination?: paginationQuery.PageRequest;
}> = Overwrite<T, {
    pagination?: Partial<PaginationRequestType>;
}>;
type PaginationAllPartialRequestUtilType<T> = NestedPartial<Overwrite<T, {
    pagination?: {
        offset: string;
        limit: string;
        count_total: boolean;
        reverse: boolean;
        key: string;
    };
}>>;
type PaginationResponseTypeUtil<T> = Overwrite<T, {
    pagination?: {
        next_key: string;
        total: string;
    };
}>;
export declare class KyveRegistryLCDClient extends AbstractKyveLCDClient {
    constructor(restEndpoint: string);
    params(): Promise<kyveQueryParamsRes.QueryParamsResponse>;
    /** Pools **/
    pool(params: kyveQueryPools.QueryPoolRequest): Promise<kyveQueryPoolsRes.QueryPoolResponse>;
    pools(params?: PaginationAllPartialRequestUtilType<kyveQueryPools.QueryPoolsRequest>): Promise<PaginationResponseTypeUtil<kyveQueryPoolsRes.QueryPoolsResponse>>;
    /** end Pools **/
    /** Stakers **/
    stakers(params: PaginationPartialRequestUtilType<kyveQueryStakers.QueryStakersRequest>): Promise<PaginationResponseTypeUtil<kyveQueryStakersRes.QueryStakersResponse>>;
    staker(params: kyveQueryStakers.QueryStakerRequest): Promise<kyveQueryStakersRes.QueryStakerResponse>;
    stakersByPool(params: kyveQueryStakers.QueryStakersByPoolRequest): Promise<kyveQueryStakersRes.QueryStakersByPoolResponse>;
    /** end stakers **/
    /** Bundles **/
    finalizedBundle(params: kyveQueryBundles.QueryFinalizedBundleRequest): Promise<kyveQueryBundles.QueryFinalizedBundleResponse>;
    finalizedBundles(params: PaginationPartialRequestUtilType<kyveQueryBundles.QueryFinalizedBundlesRequest>): Promise<PaginationResponseTypeUtil<kyveQueryBundlesRes.QueryFinalizedBundlesResponse>>;
    currentVoteStatus(params: kyveQueryBundles.QueryCurrentVoteStatusRequest): Promise<kyveQueryBundlesRes.QueryCurrentVoteStatusResponse>;
    canValidate(params: kyveQueryBundles.QueryCanValidateRequest): Promise<kyveQueryBundles.QueryCanValidateResponse>;
    canPropose(params: kyveQueryBundles.QueryCanProposeRequest): Promise<kyveQueryBundles.QueryCanProposeResponse>;
    canVote(params: kyveQueryBundles.QueryCanVoteRequest): Promise<kyveQueryBundles.QueryCanVoteResponse>;
    /** end Bundles **/
    /** Delegations **/
    delegator(params: kyveQueryDelegation.QueryDelegatorRequest): Promise<kyveQueryDelegationRes.QueryDelegatorResponse>;
    delegatorsByStaker(params: PaginationPartialRequestUtilType<kyveQueryDelegation.QueryDelegatorsByStakerRequest>): Promise<PaginationResponseTypeUtil<kyveQueryDelegationRes.QueryDelegatorsByStakerResponse>>;
    stakersByDelegator(params: PaginationPartialRequestUtilType<kyveQueryDelegation.QueryStakersByDelegatorRequest>): Promise<PaginationResponseTypeUtil<kyveQueryDelegationRes.QueryStakersByDelegatorResponse>>;
    /** end Delegations **/
    /*** Account **/
    accountAssets(params: kyveQueryAccount.QueryAccountAssetsRequest): Promise<kyveQueryAccountRes.QueryAccountAssetsResponse>;
    accountDelegationUnbondings(params: PaginationPartialRequestUtilType<kyveQueryAccount.QueryAccountDelegationUnbondingsRequest>): Promise<PaginationResponseTypeUtil<kyveQueryAccountRes.QueryAccountDelegationUnbondingsResponse>>;
    accountFundedList(params: kyveQueryAccount.QueryAccountFundedListRequest): Promise<kyveQueryAccountRes.QueryAccountFundedListResponse>;
    accountRedelegation(params: kyveQueryAccount.QueryAccountRedelegationRequest): Promise<kyveQueryAccountRes.QueryAccountRedelegationResponse>;
}
export {};
