import { QueryDelegationResponse, QueryDelegatorDelegationsResponse, QueryDelegatorUnbondingDelegationsResponse, QueryDelegatorValidatorResponse, QueryDelegatorValidatorsResponse, QueryHistoricalInfoResponse, QueryParamsResponse, QueryPoolResponse, QueryRedelegationsResponse, QueryUnbondingDelegationResponse, QueryValidatorDelegationsResponse, QueryValidatorResponse, QueryValidatorsResponse, QueryValidatorUnbondingDelegationsResponse } from "cosmjs-types/cosmos/staking/v1beta1/query"; import { BondStatus } from "cosmjs-types/cosmos/staking/v1beta1/staking"; import { QueryClient } from "../../queryclient"; export type BondStatusString = keyof Pick | ""; export interface StakingExtension { readonly staking: { delegation: (delegatorAddress: string, validatorAddress: string) => Promise; delegatorDelegations: (delegatorAddress: string, paginationKey?: Uint8Array) => Promise; delegatorUnbondingDelegations: (delegatorAddress: string, paginationKey?: Uint8Array) => Promise; delegatorValidator: (delegatorAddress: string, validatorAddress: string) => Promise; delegatorValidators: (delegatorAddress: string, paginationKey?: Uint8Array) => Promise; historicalInfo: (height: number) => Promise; params: () => Promise; pool: () => Promise; redelegations: (delegatorAddress: string, sourceValidatorAddress: string, destinationValidatorAddress: string, paginationKey?: Uint8Array) => Promise; unbondingDelegation: (delegatorAddress: string, validatorAddress: string) => Promise; validator: (validatorAddress: string) => Promise; validatorDelegations: (validatorAddress: string, paginationKey?: Uint8Array) => Promise; validators: (status: BondStatusString, paginationKey?: Uint8Array) => Promise; validatorUnbondingDelegations: (validatorAddress: string, paginationKey?: Uint8Array) => Promise; }; } export declare function setupStakingExtension(base: QueryClient): StakingExtension;