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