import { EitherAsync } from "purify-ts";
import type { RefObject } from "react";
import type { SKExternalProviders } from "./wallets";
import type { EVMTx } from "./wallets/generic-wallet";
export declare class ExternalProvider {
    private variantProvider;
    constructor(variantProvider: RefObject<SKExternalProviders>);
    private invalidProviderType;
    sendTransaction(tx: EVMTx): EitherAsync<Error, string>;
    switchChain({ chainId }: {
        chainId: string;
    }): EitherAsync<Error, void>;
    signMessage(messageHash: string): EitherAsync<Error, string>;
}
