import { Network, Psbt } from '@btc-vision/bitcoin';
import { CustomKeypair } from '../BrowserSignerBase.js';
import { SigningProtocol, Xverse } from '../types/Xverse.js';
declare global {
    interface Window {
        BitcoinProvider?: Xverse;
    }
}
export declare class XverseSigner extends CustomKeypair {
    private isInitialized;
    constructor();
    private _p2tr;
    get p2tr(): string;
    private _p2wpkh;
    get p2wpkh(): string;
    private _addresses;
    get addresses(): string[];
    private _publicKey;
    get publicKey(): Buffer;
    _network: Network | undefined;
    get network(): Network;
    get BitcoinProvider(): Xverse;
    init(): Promise<void>;
    signData(data: Buffer, address: string, protocol: SigningProtocol): Promise<Buffer>;
    getPublicKey(): Buffer;
    sign(_hash: Buffer, _lowR?: boolean): Buffer;
    signSchnorr(_hash: Buffer): Buffer;
    verify(_hash: Buffer, _signature: Buffer): boolean;
    signTaprootInput(transaction: Psbt, i: number, sighashTypes: number[]): Promise<void>;
    signInput(transaction: Psbt, i: number, sighashTypes: number[]): Promise<void>;
    multiSignPsbt(transactions: Psbt[]): Promise<void>;
    private hasAlreadySignedTapScriptSig;
    private hasAlreadyPartialSig;
    private combine;
    private signAllTweaked;
    private getNonDuplicateScriptSig;
}
