import { ISigner, Bytes } from "@tinycloud/sdk-core";
import { providers } from "ethers";
/**
 * Browser wallet signer that wraps ethers.js Web3Provider.
 * Supports MetaMask, WalletConnect, and any EIP-1193 provider.
 *
 * The wallet popup is triggered implicitly by ethers.js when
 * signMessage() is called -- no separate "strategy" type needed.
 */
export declare class BrowserWalletSigner implements ISigner {
    private provider;
    private signer;
    private cachedAddress?;
    private cachedChainId?;
    constructor(externalProvider: providers.ExternalProvider | providers.Web3Provider);
    getAddress(): Promise<string>;
    getConnectedAddress(): Promise<string | undefined>;
    getChainId(): Promise<number>;
    signMessage(message: Bytes | string): Promise<string>;
    /** Get the underlying ethers.js Web3Provider (for advanced use) */
    getProvider(): providers.Web3Provider;
}
//# sourceMappingURL=BrowserWalletSigner.d.ts.map