import { Signer, providers, Bytes, utils as ethersUtils } from "ethers";
export declare class CroakSigner extends Signer {
    provider?: providers.Provider;
    walletURI: string;
    address: string;
    isMobile: boolean;
    constructor(address: string, walletURI: string, isMobile: boolean, provider?: providers.Provider);
    connect(provider: providers.Provider): CroakSigner;
    getAddress(): Promise<string>;
    private signedMessageCB;
    private signedMessageRejectCB;
    signMessage(message: Bytes | string): Promise<string>;
    private signedTransactionCB;
    private signedTransactionRejectCB;
    signTransaction(transaction: ethersUtils.Deferrable<providers.TransactionRequest>): Promise<string>;
}
