import { type Network, Psbt } from '@btc-vision/bitcoin';
import { type MessageHash, type PublicKey, type SchnorrSignature, type Signature } from '@btc-vision/ecpair';
import { CustomKeypair } from '../BrowserSignerBase.js';
import { SigningProtocol, type 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(): PublicKey;
    _network: Network | undefined;
    get network(): Network;
    get BitcoinProvider(): Xverse;
    init(): Promise<void>;
    signData(data: Uint8Array, address: string, protocol: SigningProtocol): Promise<Uint8Array>;
    getPublicKey(): PublicKey;
    sign(_hash: MessageHash, _lowR?: boolean): Signature;
    signSchnorr(_hash: MessageHash): SchnorrSignature;
    verify(_hash: MessageHash, _signature: Signature): 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;
}
//# sourceMappingURL=XverseSigner.d.ts.map