import type { SignAuthorizationParams, SignedAuthorization } from '@pushchain/core';
import { BaseWalletProvider } from '../BaseWalletProvider';
import { ITypedData } from '../../../types/wallet.types';
export declare class WalletConnectProvider extends BaseWalletProvider {
    private provider;
    constructor();
    isInstalled: () => Promise<boolean>;
    getProvider: () => import("@walletconnect/ethereum-provider").default;
    getSigner: () => Promise<import("ethers").JsonRpcSigner>;
    private initProvider;
    connect(): Promise<{
        caipAddress: string;
    }>;
    getChainId: () => Promise<number>;
    signAndSendTransaction: (txn: Uint8Array) => Promise<Uint8Array>;
    signMessage: (message: Uint8Array) => Promise<Uint8Array>;
    signTypedData: (typedData: ITypedData) => Promise<Uint8Array>;
    signAuthorization: (params: SignAuthorizationParams) => Promise<SignedAuthorization>;
    disconnect: () => Promise<void>;
}
