import { FetchRequest, Networkish, JsonRpcProvider as EthersJsonRpcProvider, BrowserProvider as EthersWeb3Provider } from "ethers";
import { AsyncNamespaceApi } from "@kaiachain/js-ext-core";
import { JsonRpcSigner } from "./signer.js";
export declare class JsonRpcProvider extends EthersJsonRpcProvider {
    admin: AsyncNamespaceApi;
    debug: AsyncNamespaceApi;
    governance: AsyncNamespaceApi;
    klay: AsyncNamespaceApi;
    net: AsyncNamespaceApi;
    personal: AsyncNamespaceApi;
    txpool: AsyncNamespaceApi;
    constructor(url?: FetchRequest | string | undefined, network?: Networkish);
}
export declare class Web3Provider extends EthersWeb3Provider {
    admin: AsyncNamespaceApi;
    debug: AsyncNamespaceApi;
    governance: AsyncNamespaceApi;
    klay: AsyncNamespaceApi;
    net: AsyncNamespaceApi;
    personal: AsyncNamespaceApi;
    txpool: AsyncNamespaceApi;
    isKaikas?: boolean;
    constructor(provider: any, network?: any);
    getSigner(addressOrIndex?: string | number): Promise<JsonRpcSigner>;
}
