import { TransactionDataBuilder } from "../transactions/TransactionData.js";
import { Experimental_CoreClient } from "../experimental/core.js";
import type { Experimental_WowClientTypes } from "../experimental/types.js";
import type { WowJsonRpcClient } from "./client.js";
export declare class JSONRpcCoreClient extends Experimental_CoreClient {
    #private;
    constructor({ jsonRpcClient }: {
        jsonRpcClient: WowJsonRpcClient;
    });
    getObjects(options: Experimental_WowClientTypes.GetObjectsOptions): Promise<{
        objects: (Error | Experimental_WowClientTypes.ObjectResponse)[];
    }>;
    getOwnedObjects(options: Experimental_WowClientTypes.GetOwnedObjectsOptions): Promise<{
        objects: Experimental_WowClientTypes.ObjectResponse[];
        hasNextPage: boolean;
        cursor: string;
    }>;
    getCoins(options: Experimental_WowClientTypes.GetCoinsOptions): Promise<{
        objects: {
            id: string;
            version: string;
            digest: string;
            balance: string;
            type: string;
            content: Promise<any>;
            owner: {
                $kind: "ObjectOwner";
                ObjectOwner: string;
            };
            previousTransaction: string;
        }[];
        hasNextPage: boolean;
        cursor: string;
    }>;
    getBalance(options: Experimental_WowClientTypes.GetBalanceOptions): Promise<{
        balance: {
            coinType: string;
            balance: string;
        };
    }>;
    getAllBalances(options: Experimental_WowClientTypes.GetAllBalancesOptions): Promise<{
        balances: {
            coinType: string;
            balance: string;
        }[];
        hasNextPage: boolean;
        cursor: any;
    }>;
    getTransaction(options: Experimental_WowClientTypes.GetTransactionOptions): Promise<{
        transaction: Experimental_WowClientTypes.TransactionResponse;
    }>;
    executeTransaction(options: Experimental_WowClientTypes.ExecuteTransactionOptions): Promise<{
        transaction: Experimental_WowClientTypes.TransactionResponse;
    }>;
    dryRunTransaction(options: Experimental_WowClientTypes.DryRunTransactionOptions): Promise<{
        transaction: {
            digest: string;
            epoch: any;
            effects: Experimental_WowClientTypes.TransactionEffects;
            objectTypes: Promise<Record<string, string>>;
            signatures: any[];
            transaction: Experimental_WowClientTypes.TransactionData;
            balanceChanges: {
                coinType: string;
                address: string;
                amount: string;
            }[];
        };
    }>;
    getReferenceGasPrice(options?: Experimental_WowClientTypes.GetReferenceGasPriceOptions): Promise<{
        referenceGasPrice: string;
    }>;
    getDynamicFields(options: Experimental_WowClientTypes.GetDynamicFieldsOptions): Promise<{
        dynamicFields: {
            id: string;
            type: string;
            name: {
                type: string;
                bcs: Uint8Array<ArrayBuffer>;
            };
        }[];
        hasNextPage: boolean;
        cursor: string;
    }>;
    resolveTransactionPlugin(): (transactionData: TransactionDataBuilder, options: import("../index.js").BuildTransactionOptions, next: () => Promise<void>) => Promise<void>;
    getMoveFunction(options: Experimental_WowClientTypes.GetMoveFunctionOptions): Promise<Experimental_WowClientTypes.GetMoveFunctionResponse>;
}
