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 { SignatureType, type Unisat } from '../types/Unisat.js';
import type { OPWallet } from '../types/OPWallet.js';
export interface WindowWithWallets {
    unisat?: Unisat;
    opnet?: OPWallet;
}
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(): PublicKey;
    _network: Network | undefined;
    get network(): Network;
    get unisat(): Unisat;
    signData(data: Uint8Array, type: SignatureType): Promise<Uint8Array>;
    init(): Promise<void>;
    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=UnisatSigner.d.ts.map