import type { TransactionPlugin } from "../transactions/index.js";
import { Experimental_BaseClient } from "./client.js";
import type { ClientWithExtensions, Experimental_WowClientTypes } from "./types.js";
export type ClientWithCoreApi = ClientWithExtensions<{
    core: Experimental_CoreClient;
}>;
export interface Experimental_CoreClientOptions extends Experimental_WowClientTypes.WowClientOptions {
    base: Experimental_BaseClient;
}
export declare abstract class Experimental_CoreClient extends Experimental_BaseClient implements Experimental_WowClientTypes.TransportMethods {
    core: this;
    constructor(options: Experimental_CoreClientOptions);
    abstract getObjects(options: Experimental_WowClientTypes.GetObjectsOptions): Promise<Experimental_WowClientTypes.GetObjectsResponse>;
    getObject(options: Experimental_WowClientTypes.GetObjectOptions): Promise<Experimental_WowClientTypes.GetObjectResponse>;
    abstract getCoins(options: Experimental_WowClientTypes.GetCoinsOptions): Promise<Experimental_WowClientTypes.GetCoinsResponse>;
    abstract getOwnedObjects(options: Experimental_WowClientTypes.GetOwnedObjectsOptions): Promise<Experimental_WowClientTypes.GetOwnedObjectsResponse>;
    abstract getBalance(options: Experimental_WowClientTypes.GetBalanceOptions): Promise<Experimental_WowClientTypes.GetBalanceResponse>;
    abstract getAllBalances(options: Experimental_WowClientTypes.GetAllBalancesOptions): Promise<Experimental_WowClientTypes.GetAllBalancesResponse>;
    abstract getTransaction(options: Experimental_WowClientTypes.GetTransactionOptions): Promise<Experimental_WowClientTypes.GetTransactionResponse>;
    abstract executeTransaction(options: Experimental_WowClientTypes.ExecuteTransactionOptions): Promise<Experimental_WowClientTypes.ExecuteTransactionResponse>;
    abstract dryRunTransaction(options: Experimental_WowClientTypes.DryRunTransactionOptions): Promise<Experimental_WowClientTypes.DryRunTransactionResponse>;
    abstract getReferenceGasPrice(options?: Experimental_WowClientTypes.GetReferenceGasPriceOptions): Promise<Experimental_WowClientTypes.GetReferenceGasPriceResponse>;
    abstract getDynamicFields(options: Experimental_WowClientTypes.GetDynamicFieldsOptions): Promise<Experimental_WowClientTypes.GetDynamicFieldsResponse>;
    abstract resolveTransactionPlugin(): TransactionPlugin;
    abstract getMoveFunction(options: Experimental_WowClientTypes.GetMoveFunctionOptions): Promise<Experimental_WowClientTypes.GetMoveFunctionResponse>;
    getDynamicField(options: Experimental_WowClientTypes.GetDynamicFieldOptions): Promise<Experimental_WowClientTypes.GetDynamicFieldResponse>;
    waitForTransaction({ signal, timeout, ...input }: {
        signal?: AbortSignal;
        timeout?: number;
    } & Experimental_WowClientTypes.GetTransactionOptions): Promise<Experimental_WowClientTypes.GetTransactionResponse>;
}
