import type { AccountInstance, Signed, UnsignedBoundWitness } from '@xyo-network/sdk';
import type { UnsignedTransactionBoundWitness } from '@xyo-network/xl1-protocol/protocol-lib';
/**
 * Signs an unsigned bound witness with the provided account, preserving all fields. Stamps the
 * signer's address and previousHash, hashes the bound witness, and appends the signature. Generic
 * over the bound-witness type so the signed result keeps the input's concrete shape.
 * @param bw The unsigned bound witness to sign
 * @param account The account to sign with
 * @returns The signed bound witness
 */
export declare function signBoundWitness<T extends UnsignedBoundWitness>(bw: T, account: AccountInstance): Promise<Signed<T>>;
/**
 * Signs an unsigned transaction with the provided account.
 * @param tx The transaction to sign
 * @param account The account to sign the transaction with
 * @returns The signed transaction
 */
export declare function signTransaction(tx: UnsignedTransactionBoundWitness, account: AccountInstance): Promise<Signed<UnsignedTransactionBoundWitness>>;
//# sourceMappingURL=signTransaction.d.ts.map