import { QueryBlockRewardsTrackingResponse, QueryContractMetadataResponse, QueryEstimateTxFeesResponse, QueryFlatFeeResponse, QueryOutstandingRewardsResponse, QueryParamsResponse, QueryRewardsPoolResponse, QueryRewardsRecordsResponse } from '@archwayhq/arch3-proto/build/archway/rewards/v1/query';
import { QueryClient } from '@cosmjs/stargate';
export interface RewardsExtension {
    readonly rewards: {
        readonly params: () => Promise<QueryParamsResponse>;
        readonly contractMetadata: (contractAddress: string) => Promise<QueryContractMetadataResponse>;
        readonly blockRewardsTracking: () => Promise<QueryBlockRewardsTrackingResponse>;
        readonly rewardsPool: () => Promise<QueryRewardsPoolResponse>;
        readonly estimateTxFees: (gasLimit: number, contractAddress: string) => Promise<QueryEstimateTxFeesResponse>;
        readonly rewardsRecords: (rewardsAddress: string, paginationKey?: Uint8Array) => Promise<QueryRewardsRecordsResponse>;
        readonly outstandingRewards: (rewardsAddress: string) => Promise<QueryOutstandingRewardsResponse>;
        readonly flatFee: (contractAddress: string) => Promise<QueryFlatFeeResponse>;
    };
}
/**
 * Creates a rewards extension for the given {@link QueryClient}.
 *
 * @param base - The base query client to use for RPC queries.
 * @returns A {@link RewardsExtension}.
 */
export declare function setupRewardsExtension(base: QueryClient): RewardsExtension;
