import { AsyncNamespaceApi } from "@kaiachain/js-ext-core";
import { Web3Context, Web3ContextInitOptions } from "web3-core";
import { RegisteredSubscription } from "web3-eth";
import { EthExecutionAPI, SupportedProviders } from "web3-types";
import * as utils from "web3-utils";
import { KlaytnWeb3EthInterface } from "./types.js";
export declare class KlaytnWeb3 extends Web3Context<EthExecutionAPI, RegisteredSubscription> {
    static version: string;
    static utils: typeof utils;
    static modules: {
        Web3Eth: typeof import("web3").Web3Eth;
        Iban: typeof import("web3").Iban;
        Net: typeof import("web3").Net;
        ENS: typeof import("web3-eth-ens").ENS;
        Personal: typeof import("web3").Personal;
    };
    utils: typeof utils;
    eth: KlaytnWeb3EthInterface;
    admin: AsyncNamespaceApi;
    debug: AsyncNamespaceApi;
    governance: AsyncNamespaceApi;
    klay: AsyncNamespaceApi;
    kaia: AsyncNamespaceApi;
    net: AsyncNamespaceApi;
    personal: AsyncNamespaceApi;
    txpool: AsyncNamespaceApi;
    private _web3;
    constructor(providerOrContext?: string | SupportedProviders<EthExecutionAPI> | Web3ContextInitOptions<EthExecutionAPI>);
    private makeSendFunction;
}
