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 { KaiaWeb3EthInterface, KaiaWeb3GaslessInterface } from "./index.js";
export declare class KlaytnWeb3 extends Web3Context<EthExecutionAPI, RegisteredSubscription> {
    static version: string;
    static utils: typeof utils;
    static modules: {
        Web3Eth: typeof import("web3-eth").default;
        Iban: typeof import("web3-eth-iban").default;
        Net: typeof import("web3-net").default;
        ENS: typeof import("web3-eth-ens").ENS;
        Personal: typeof import("web3-eth-personal").default;
    };
    utils: typeof utils;
    eth: KaiaWeb3EthInterface;
    gasless: KaiaWeb3GaslessInterface;
    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;
}
