import { PsbtV2 } from "@ledgerhq/psbtv2";
import type { AccountType } from "../newops/accounttype";
import { WalletPolicy } from "../newops/policy";
/**
 * Creates a WalletPolicy for the given account.
 */
export declare function createWalletPolicy(masterFp: Buffer, accountPath: number[], accountXpub: string, accountType: AccountType): WalletPolicy;
/**
 * Creates a progress callback that notifies onDeviceStreaming and onDeviceSignatureGranted.
 */
export declare function createProgressCallback(inputCount: number, options: {
    onDeviceSignatureRequested?: () => void;
    onDeviceSignatureGranted?: () => void;
    onDeviceStreaming?: (arg: {
        progress: number;
        total: number;
        index: number;
    }) => void;
}): () => void;
/**
 * Optionally finalizes the PSBT and, when finalizing, extracts the transaction.
 * When not finalizing, only the serialized PSBT (with partial signatures) is
 * returned; extraction is not performed because FINAL_SCRIPTWITNESS is not set.
 */
export declare function finalizePsbtAndExtract(psbt: PsbtV2, shouldFinalize: boolean): {
    psbt: Buffer;
    tx?: string;
};
//# sourceMappingURL=signAndFinalize.d.ts.map