/**
 * SignBuilder Implementation
 *
 * Handles transaction signing by delegating to the wallet's signTx Effect method.
 * The SignBuilder is responsible for:
 * 1. Providing the transaction and UTxO context to the wallet
 * 2. Managing the transition from unsigned to signed transaction
 * 3. Creating the SubmitBuilder for transaction submission
 *
 * The actual signing logic (determining required signers, creating witnesses)
 * is the wallet's responsibility.
 *
 * @since 2.0.0
 * @category builders
 */
import * as Transaction from "../../Transaction.js";
import type * as TxOut from "../../TxOut.js";
import * as CoreUTxO from "../../UTxO.js";
import type * as Provider from "../provider/Provider.js";
import type * as Wallet from "../wallet/Wallet.js";
import type { SignBuilder } from "./SignBuilder.js";
/**
 * Wallet type - can be SigningWallet or ApiWallet (both have Effect.signTx)
 */
type SignerWallet = Wallet.SigningWallet | Wallet.ApiWallet;
/**
 * Create a SignBuilder instance for a built transaction.
 *
 * @since 2.0.0
 * @category constructors
 */
export declare const makeSignBuilder: (params: {
    transaction: Transaction.Transaction;
    transactionWithFakeWitnesses: Transaction.Transaction;
    fee: bigint;
    utxos: ReadonlyArray<CoreUTxO.UTxO>;
    referenceUtxos: ReadonlyArray<CoreUTxO.UTxO>;
    provider: Provider.Provider;
    wallet: SignerWallet;
    outputs: ReadonlyArray<TxOut.TransactionOutput>;
    availableUtxos: ReadonlyArray<CoreUTxO.UTxO>;
}) => SignBuilder;
export {};
//# sourceMappingURL=SignBuilderImpl.d.ts.map