import { Network, Psbt } from '@btc-vision/bitcoin';
import { CustomKeypair } from '../BrowserSignerBase.js';
import { SignatureType, Unisat } from '../types/Unisat.js';
export interface WindowWithWallets {
    unisat?: Unisat;
    opnet?: Unisat;
}
export declare class UnisatSigner 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 unisat(): Unisat;
    signData(data: Buffer, type: SignatureType): Promise<Buffer>;
    init(): Promise<void>;
    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;
}
