import { type MLDSASignature, type Unisat, UnisatChainType } from '@btc-vision/transaction';
import { AbstractRpcProvider } from 'opnet';
import { type WalletBase } from '../types';
declare class OPWallet implements WalletBase {
    private walletBase;
    private accountsChangedHookWrapper?;
    private chainChangedHookWrapper?;
    private disconnectHookWrapper?;
    private _isConnected;
    isInstalled(): boolean;
    isConnected(): boolean;
    canAutoConnect(): Promise<boolean>;
    getChainId(): void;
    connect(): Promise<string[]>;
    disconnect(): Promise<void>;
    getWalletInstance(): Unisat | null;
    getProvider(): Promise<AbstractRpcProvider | null>;
    getSigner(): Promise<null>;
    getPublicKey(): Promise<string>;
    getNetwork(): Promise<UnisatChainType>;
    setAccountsChangedHook(fn: (accounts: string[]) => void): void;
    removeAccountsChangedHook(): void;
    setDisconnectHook(fn: () => void): void;
    removeDisconnectHook(): void;
    setChainChangedHook(fn: (chainType: UnisatChainType) => void): void;
    removeChainChangedHook(): void;
    getMLDSAPublicKey(): Promise<string | null>;
    getHashedMLDSAKey(): Promise<string | null>;
    signMLDSAMessage(message: string): Promise<MLDSASignature | null>;
    verifyMLDSASignature(message: string, signature: MLDSASignature): Promise<boolean>;
}
export default OPWallet;
//# sourceMappingURL=controller.d.ts.map