import { type PrivateKey, Script, Signature, Transaction, type TransactionOutput } from "@bsv/sdk"; export type AuthToken = { type: "header" | "query"; value: string; key: string; }; export type RemoteSigningResponse = { address: string; sig: string; message: string; ts: number; recovery: number; }; export declare const sigmaHex = "5349474d41"; export declare enum Algorithm { BSM = "BSM" } export type Sig = { address: string; signature: string; algorithm: Algorithm; vin: number; targetVout: number; }; export interface SignResponse extends Sig { sigmaScript: Script; signedTx: Transaction; } export declare class Sigma { private _inputHash; private _dataHash; private _transaction; private _sigmaInstance; private _refVin; private _targetVout; private _sig; constructor(transaction: Transaction, targetVout?: number, sigmaInstance?: number, refVin?: number); setHashes: () => void; setTargetVout: (targetVout: number) => void; setSigmaInstance: (sigmaInstance: number) => void; getMessageHash(): number[]; get transaction(): Transaction; _sign(signature: Signature, address: string, recovery: number): { address: string; signature: string; algorithm: Algorithm; vin: number; targetVout: number; sigmaScript: Script; signedTx: Transaction; }; sign(privateKey: PrivateKey): SignResponse; remoteSign(keyHost: string, authToken?: AuthToken): Promise; verify: () => boolean; getInputHash: () => number[]; private _getInputHashByVin; getDataHash: () => number[]; get targetTxOut(): TransactionOutput | null; get sig(): Sig | null; getSigInstanceCount(): number; getSigInstancePosition(): number; }