import type { ActionDto, TransactionDto } from "@stakekit/api-hooks";
import { EitherAsync } from "purify-ts";
import type { RefObject } from "react";
import type { SKExternalProviders } from "./wallets";
import type { SKTx } from "./wallets/generic-wallet";
export declare class ExternalProvider {
    private variantProvider;
    constructor(variantProvider: RefObject<SKExternalProviders>);
    private invalidProviderType;
    sendTransaction(tx: SKTx, txMeta: {
        txId: TransactionDto["id"];
        actionId: ActionDto["id"];
        actionType: ActionDto["type"];
        txType: TransactionDto["type"];
    }): EitherAsync<Error, string>;
    switchChain({ chainId }: {
        chainId: number;
    }): EitherAsync<Error, void>;
    signMessage(messageHash: string): EitherAsync<Error, string>;
}
